Operations over nested relationships using operators
First Claim
1. A computer program product in a non-transitory computer readable medium, the computer program product comprising machine-readable program instructions executed by a processor to perform a method of storage and retrieval with respect to a set of data stored in tables organized by table groups, wherein a table group comprises all the data from at least one row of a root table together with all related rows of data from one or more other tables related thereto such that rows from multiple distinct tables of the table group are associated as a composite entity, wherein, within the table group, there are one or more root-to-leaf paths that each include, along the root-to-leaf path, the root table, and one or more descendant tables, wherein one of the descendant tables is a leaf table, the method comprising:
- in response to receipt of a query, constructing a plan of execution composed of one or more operators, wherein at least one of the operators identifies a table or index to be used as an input row type;
carrying out the plan of execution by;
for each row that matches the input row type, obtain an hkey;
transforming the hkey into a modified hkey associated with an output row type pointing to a different table or index;
starting with a row of interest associated with the modified hkey, probing a table group to read one or more additional rows; and
as each of the one or more additional rows are read, writing into an output stream the one or more additional rows, the output stream being a response to the query.
6 Assignments
0 Petitions
Accused Products
Abstract
A set of operators on group-structured data enable creation of efficient execution plans. These operators are of two (2) distinct types. They operate similarly. For each row that matches an input row type, an hkey is obtained. The hkey uniquely identifies a table row within a table group. The hkey is transformed into a modified hkey associated with an output row type. Starting with a row of interest associated with the modified hkey, a table group is probed to identify one or more additional rows. As the additional rows are identified, they are written into an output stream.
7 Citations
20 Claims
-
1. A computer program product in a non-transitory computer readable medium, the computer program product comprising machine-readable program instructions executed by a processor to perform a method of storage and retrieval with respect to a set of data stored in tables organized by table groups, wherein a table group comprises all the data from at least one row of a root table together with all related rows of data from one or more other tables related thereto such that rows from multiple distinct tables of the table group are associated as a composite entity, wherein, within the table group, there are one or more root-to-leaf paths that each include, along the root-to-leaf path, the root table, and one or more descendant tables, wherein one of the descendant tables is a leaf table, the method comprising:
-
in response to receipt of a query, constructing a plan of execution composed of one or more operators, wherein at least one of the operators identifies a table or index to be used as an input row type; carrying out the plan of execution by; for each row that matches the input row type, obtain an hkey; transforming the hkey into a modified hkey associated with an output row type pointing to a different table or index; starting with a row of interest associated with the modified hkey, probing a table group to read one or more additional rows; and as each of the one or more additional rows are read, writing into an output stream the one or more additional rows, the output stream being a response to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of retrieving data stored in tables organized by table groups, wherein a table group comprises all the data from at least one row of a root table together with all related rows of data from one or more other tables related thereto such that rows from multiple distinct tables of the table group are associated as a composite entity, wherein, within the table group, there are one or more root-to-leaf paths that each include, along the root-to-leaf path, the root table, and one or more descendant tables, wherein one of the descendant tables is a leaf table, the method comprising:
-
in response to a database query, the database query being a non-procedural specification of data to be retrieved, generating an execution plan composed of one or more operators, wherein at least one of the operators identifies a table or index to be used as an input row type; carrying out the execution plan by the following sub-steps, using a hardware element; for each row that matches the input row type, obtaining an hkey; transforming the hkey into a modified hkey associated with an output row type pointing to a different table or index; starting with a row of interest associated with the modified hkey, probing a table group to read one or more additional rows; and as each of the one or more additional rows are read, writing into an output stream the one or more additional rows, the output stream being a response to the query. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. Apparatus, comprising:
-
a relational database in which data is stored in tables organized into table groups, wherein a table group comprises all the data from at least one row of a root table together with all related rows of data from one or more other tables related thereto such that rows from multiple distinct tables of the table group are associated as a composite entity, wherein, within the table group, there are one or more root-to-leaf paths that each include, along the root-to-leaf path, the root table, and one or more descendant tables, wherein one of the descendant tables is a leaf table; computer memory storing program code that is responsive to a database query to generate an execution plan composed of one or more operators, wherein at least one of the operators identifies a table or index to be used as an input row type; computer memory storing program code to carry out the execution plan by the following sub-steps; for each row that matches the input row type, obtaining an hkey; transforming the hkey into a modified hkey associated with an output row type pointing to a different table or index; starting with a row of interest associated with the modified hkey, probing a table group to read one or more additional rows; and as the one or more additional rows are read, writing into an output stream the one or more additional rows, the output stream being a response to the query. - View Dependent Claims (18, 19, 20)
-
Specification