Adaptive filter index for determining queries affected by a DML operation
First Claim
1. A method for identifying registered queries whose result sets were actually changed by a change to data within a table, comprising:
- using a filter index to determine a set of base predicates that are satisfied by the change;
determining that a particular set of registered queries correspond to the set of base predicates that are satisfied by the change;
wherein the particular set of registered queries includes at least one registered query whose result set was not actually changed by the change;
adding, to a set of candidate queries, the particular set of registered queries that correspond to the set of base predicates; and
using the set of candidate queries to determine which registered queries have result sets that were actually changed by the change to the data within the table;
wherein using the set of candidate queries includes determining that the result set of the at least one registered query was not actually changed by the change;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for creating and using a filter index in order to identify registered queries whose result sets are likely to have been changed by changes made to tables. The filter index entries are based on filter conditions. The filter conditions are created based on predicates contained in the registered queries. The filter conditions may include exclusive predicates and join predicates. Join predicates that join a table T1 with a table T2 may be instantiated by replacing references to table T2 with values extracted from table T2. Various techniques are described for recognizing situations in which a query can be included in, or excluded from, the set of likely-changed queries, without fully evaluating the filter conditions that correspond to the queries.
27 Citations
32 Claims
-
1. A method for identifying registered queries whose result sets were actually changed by a change to data within a table, comprising:
-
using a filter index to determine a set of base predicates that are satisfied by the change; determining that a particular set of registered queries correspond to the set of base predicates that are satisfied by the change; wherein the particular set of registered queries includes at least one registered query whose result set was not actually changed by the change; adding, to a set of candidate queries, the particular set of registered queries that correspond to the set of base predicates; and using the set of candidate queries to determine which registered queries have result sets that were actually changed by the change to the data within the table; wherein using the set of candidate queries includes determining that the result set of the at least one registered query was not actually changed by the change; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform
using a filter index to determine a set of base predicates that are satisfied by the change; -
determining that a particular set of registered queries correspond to the set of base predicates that are satisfied by the change; wherein the particular set of registered queries includes at least one registered query whose result set was not actually changed by the change;
,adding, to a set of candidate queries, the particular set of registered queries that correspond to the set of base predicates; and using the set of candidate queries to determine which registered queries have result sets that were actually changed by the change to the data within the table; wherein using the set of candidate queries includes determining that the result set of the at least one registered query was not actually changed by the change. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification