SQL language extensions for modifying collection-valued and scalar valued columns in a single statement
First Claim
1. A method of updating values in a complex structured type column in a relational database system, comprising the steps of:
- representing modifications to values in the complex structured type column using a data structure that aggregates changes to the values at any level of a hierarchy of the complex structured column; and
computing the data structure in response to a data modification statement on the database to determine which values within the complex structured type column to update with the aggregated changes.
3 Assignments
0 Petitions
Accused Products
Abstract
A technique for updating collection-valued and other complex structured columns in a nested table using a nested extension of an UPDATE statement that uses syntax and semantics to modify collection-valued columns in a way that is analogous to the syntax and semantics of the UPDATE statement that is used to modify scalar-valued columns of the table (called the outer UPDATE). Using the same syntactic and semantic constructs as the table at the outer level allows an existing implementation that processes modifications to relational tables to reuse its implementation techniques for processing outer updates to modify collection-valued columns as well. The UPDATE extensions enable the specification of updates to nested collections embedded at arbitrary levels of depth in the object model. The new syntax is embedded inside the outer UPDATE statement in a way that parallels the structure of the data itself and thus maps more directly to the user'"'"'s conceptual model of the data. The method for implementing the UPDATE extensions uses a change descriptor, which is a data structure that aggregates substantially all changes, both scalar and collection-valued into a single value that can be applied to the changed collection-valued column. This technique can also be used for modifications to other kinds of complex-structured columns such as objects or xml. The change descriptor includes hierarchical information for the cell, thereby enabling efficient application of multiple updates at various granularity levels in a single operation and enabling the implementation of efficient index maintenance algorithms by updating only the indexes affected by the UPDATE operation and updating only those index rows that were affected by the UPDATE operation.
49 Citations
22 Claims
-
1. A method of updating values in a complex structured type column in a relational database system, comprising the steps of:
-
representing modifications to values in the complex structured type column using a data structure that aggregates changes to the values at any level of a hierarchy of the complex structured column; and
computing the data structure in response to a data modification statement on the database to determine which values within the complex structured type column to update with the aggregated changes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A relational database system responsive to database modification statements to store and update values in at least one complex structured type column, comprising:
-
a parser that parses a database modification statement and produces a description of changes to the database proposed by the database modification statement;
a query optimizer that produces an execution algorithm to implement the database modification statement; and
a query execution engine that uses the execution algorithm to compute a data structure of the database modification statement to determine which values within a complex structured type column are to be updated, wherein the data structure represents values in the complex structured type column as an aggregation of changes to the values at any level of hierarchy of the complex structured type column, and said query execution engine applies the changes to the values in the complex structured type column that are to be updated. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of updating values in a collection-valued column in a relational database system, comprising the steps of:
-
representing modifications to values in the collection-valued column using a data structure that aggregates changes to the values inside the collection-valued column; and
computing the data structure in response to a data modification statement on the database to determine which values within the collection-valued column to update with the aggregated changes. - View Dependent Claims (16, 17)
-
-
18. A relational database system responsive to database modification statements to store and update values in at least one collection-valued column, comprising:
-
a parser that parses a database modification statement and produces a description of changes to the database proposed by the database modification statement;
a query optimizer that produces an execution algorithm to implement the database modification statement; and
a query execution engine that uses the execution algorithm to compute a data structure of the database modification statement to determine which values within a collection-valued column are to be updated, wherein the data structure represents values in the collection-valued column as an aggregation of changes to the values inside the collection-valued column, and said query execution engine applies the changes to the values in the collection-valued column that are to be updated. - View Dependent Claims (19, 20, 21, 22)
-
Specification