摘要:
The disclosed embodiments relate to a system and method for refreshing a materialized view that is at least in part derived from a table. The system may be adapted to provide availability of the table and the materialized view while the materialized view is being refreshed. The system may include a refresh log that contains a plurality of entries, each of the plurality of entries corresponding to a change in the table, each of the plurality of entries comprising an epoch identifier. The system may also include a refresh manager that performs a refresh operation on the materialized view in multiple steps by (a) successively reading a first subset of the plurality of entries indicated by a specific epoch identifier from the refresh log, (b) identifying a second subset of the plurality of entries from within the first subset of the plurality of entries, the second subset of the plurality of entries falling within a primary key value boundary and (c) applying the second subset of the plurality of entries to the materialized view.
摘要:
The disclosed embodiments relate to an apparatus for performing query operations. The apparatus comprises a base table having spatial objects, an index table having data entries that are associated with the spatial objects. A module that is adapted to perform the query operation is configured to convert a query window into values, create a scan range for each of the values with a begin range value, an end range value, and a stop condition, scan the data entries for each of the scan range to identify one of the end range value and the stop condition, and return a result based upon the data entries that are within the scan range for each of the values.
摘要:
A disclosed embodiment relates to a system for populating an index table. The system comprises a component that decomposes a spatial object into a set of object pairs, a component that employs a value associated with the object pairs to sort the set of object pairs into a sequence of object pairs, a component that uses a sliding border analysis to create a subset of the sequence of object pairs depending upon a position of the object pair in the sequence of object pairs, and a component that populates the index table with the subset of object pairs.
摘要:
The disclosed embodiments relate to an apparatus for performing query operations. The apparatus comprises a base table having spatial objects, an index table having data entries that are associated with the spatial objects. A module that is adapted to perform the query operation is configured to convert a query window into values, create a scan range for each of the values with a begin range value, an end range value, and a stop condition, scan the data entries for each of the scan range to identify one of the end range value and the stop condition, and return a result based upon the data entries that are within the scan range for each of the values.
摘要:
The disclosed embodiments relate to a system and method for performing conflict resolution when refreshing a materialized view. The system may comprise a logging mechanism that maintains a refresh log, the refresh log may contain a first range and a second range that at least partially overlap, the first range and the second range each having a timestamp associated therewith. The system may also include a refresh manager that resolves conflicts between the first range and the second range that at least partially overlap by selecting portions of the first range and the second range that have the more recent timestamp and applying the selected portions of the first range and the second range to the materialized view. In another embodiment, the system may comprise a logging mechanism that maintains a refresh log, the refresh log containing a range and a single-row entry, the range and the single row entry each having a timestamp associated therewith. The system may also include a refresh manager that resolves conflicts between the range and the single-row entry by ignoring the single-row entry if the single-row entry is part of the range and if the single-row entry has the more recent timestamp and by applying the single-row entry to the materialized view if the single-row entry is not part of the range or if the range has the more recent timestamp.
摘要:
The disclosed embodiments relate to a system for refreshing a table to produce a refreshed table. The system may include a refresh log that may contain a plurality of entries that each comprise an epoch identifier. The system may also include a refresh manager that may be adapted to perform a refresh operation on the table using entries that have corresponding epoch identifiers.
摘要:
The disclosed embodiments relate to an apparatus for performing refresh operations. The apparatus comprises a base table having a first set of data entries, a materialized view having a second set of data entries that are associated with the first set of data entries in the base table. Further, a refresh log contains a set of changes that were made to the base table since the materialized view was last refreshed. A module is utilized to perform a refresh operation on the materialized view using the second set of data entries. The module is configured to access the refresh log and the materialized view, calculate delta values from the set of changes in the refresh log and the second set of data entries, apply the delta values to second set of data entries in the materialized view, and provide the delta values to a delta adaptation module for updating a second materialized view.
摘要:
A method for executing before-triggers in an active database. A tree of actions is constructed for each activated before-trigger and a tree of operators is constructed for the statement that activates the trigger. A table affecting operator that is included in the activating statement is removed from the statement tree and a temporary execution operator is formed from any remaining actions of the activating statement. The temporary execution operator and the activated before-triggers are then included in an insertion operator that is configured to send updated rows into a temporary table. The table affecting operator is then interconnected to execute subsequent to the insertion operator. Any activated row-after and statement-after triggers are interconnected to execute subsequent to the execution of the table-affecting operator.
摘要:
A method for executing after-triggers in an active database. A tree is constructed for each after-trigger and an operator tree is constructed for the statement that activates the trigger. The method joins each of the trees for the activated row-after triggers to the operator tree for pipelined execution with the operator tree. The trees for the activated row-after triggers form a group and each of the trees within the group execute in parallel with each other. The method joins trees for activated statement-after triggers to the operator tree for execution subsequent to the execution of the operator tree, the statement after trigger trees receiving rows from a temporary table that accumulates affected rows from the operator tree. Trees for activated statement after triggers form a group and each of the trees within the group execute in parallel with each other.
摘要:
A method for executing triggers in an active database. An operator tree is formed for the activating trigger and the activated triggers are identified. Each trigger has a creation time stamp. Conflicting triggers are determined based on the tables accessed by the activated triggers. Two or more parallel groups are formed such that conflicting triggers are placed into a different parallel groups and non-conflicting triggers are contained within a parallel group. The parallel groups are interconnected for sequential execution, the order of execution of the parallel groups being based on the creation time stamps of conflicting triggers. The parallel groups are then connected to the operator tree and, if possible, a parallel group containing row triggers is connected to execute in a pipelined fashion with the operator tree of the activating statement.