/// <summary> /// Tells the database that data is no longer used by a query match /// </summary> /// <param name="queryMatchID">ID of the query match no longer using its data</param> public static void UnmarkDataUsedForUpdates(this IUsesDatabaseQuerying obj, QueryMatchID queryMatchID) { IUsesDatabaseQueryingMethods.UnmarkDataUsedForUpdates(queryMatchID); }
/// <summary> /// Checks whether data used by a query match has changed /// </summary> /// <param name="queryMatchID">ID of the query match using data</param> /// <returns>True if the data has changed, false otherwise</returns> public static bool QueryDataDirty(this IUsesDatabaseQuerying obj, QueryMatchID queryMatchID) { return(IUsesDatabaseQueryingMethods.QueryDataDirty(queryMatchID)); }
/// <summary> /// Tells the database that data will be used to update a query match /// </summary> /// <param name="dataID">ID for the data used by a query match</param> /// <param name="queryMatchID">ID of the query match using this data</param> /// <param name="exclusivity">Specification of how the data should be reserved</param> public static void MarkDataUsedForUpdates(this IUsesDatabaseQuerying obj, int dataID, QueryMatchID queryMatchID, Exclusivity exclusivity) { IUsesDatabaseQueryingMethods.MarkDataUsedForUpdates(dataID, queryMatchID, exclusivity); }
/// <summary> /// Tries to fill out a SetQueryResult with updated data for a query that has been matched. /// This also checks if the data no longer meets the given relations. /// </summary> /// <param name="data">Specification of which data is used for each set child</param> /// <param name="relations">Bi-directional constraints that the data must continue to meet</param> /// <param name="result">Object that will contain the updated data that still matches the relations, /// as well as a list of non-required children that were lost during this update</param> /// <returns>True if the data still matches the relations, false otherwise</returns> public static bool TryUpdateSetQueryMatchData(this IUsesDatabaseQuerying obj, SetMatchData data, Relations relations, SetQueryResult result) { return(IUsesDatabaseQueryingMethods.TryUpdateSetQueryMatchData(data, relations, result)); }
/// <summary> /// Tells the database that a certain set of child data is no longer used by a set query match. /// This should be used when a set's non-required children are lost, in order to free up their data. /// </summary> /// <param name="queryMatchID">ID of the query match no longer using some of its data</param> /// <param name="childrenToUnmark">Collection of child MR objects whose data should be unmarked</param> public static void UnmarkPartialSetDataUsedForUpdates(this IUsesDatabaseQuerying obj, QueryMatchID queryMatchID, ICollection <IMRObject> childrenToUnmark) { IUsesDatabaseQueryingMethods.UnmarkPartialSetDataUsedForUpdates(queryMatchID, childrenToUnmark); }
/// <summary> /// Tells the database that data will be used to update a set query match /// </summary> /// <param name="queryMatchID">ID of the query match using this data</param> /// <param name="data">Specification of which data is used for each set child</param> public static void MarkSetDataUsedForUpdates(this IUsesDatabaseQuerying obj, QueryMatchID queryMatchID, HashSet <int> data) { IUsesDatabaseQueryingMethods.MarkSetDataUsedForUpdates(queryMatchID, data); }
/// <summary> /// Tries to fill out a QueryResult with updated data for a query that has been matched. /// This also checks if the data no longer meets the given conditions. /// </summary> /// <param name="dataID">ID for the data used by the query match</param> /// <param name="conditions">Criteria that the data must continue to meet</param> /// <param name="result">Object that will contain the updated data that still matches the conditions</param> /// <returns>True if the data still matches the conditions, false otherwise</returns> public static bool TryUpdateQueryMatchData(this IUsesDatabaseQuerying obj, int dataID, ProxyConditions conditions, ProxyTraitRequirements requirements, QueryResult result) { return(IUsesDatabaseQueryingMethods.TryUpdateQueryMatchData(dataID, conditions, requirements, result)); }