Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
250 words
In a database system for representing information in database tables and for retrieving information from database tables in response to database queries, each database table comprising data records storing information categorized into one or more database columns, each database column storing information as an attribute having a particular data type, a method for processing a database query specifying a join of three or more tables, the method comprising: in response to receiving a particular database query specifying a join of three or more tables, determining a join order for examining the tables during query processing, wherein said particular database query specifies selection criteria including at least one join condition that must exist between an inner table and an outer table that is not a directly preceding table in the join order; retrieving rows from successive tables per the join order, including: determining whether a join condition that is being tested refers back to a more-outer table that is not a directly preceding table, if the join condition is not met, fetching the next row, if any, from said more-outer table whose just-tested condition failed, and if the join condition is met, continuing down the join order to examine any subsequent tables in the join order, if any, applying any subsequent query conditions, if any, that must be met in order to qualify for the query; and in the instance that a set of rows under examination meets said selection criteria, qualifying those rows as having satisfied the particular database query.
Claim 2
Dependent Claim
250 words
In a database system for representing information in database tables and for retrieving information from database tables in response to database queries, each database table comprising data records storing information categorized into one or more database columns, each database column storing information as an attribute having a particular data type, a method for processing a database query specifying a join of three or more tables, the method comprising: in response to receiving a particular database query specifying a join of three or more tables, determining a join order for examining the tables during query processing, wherein said particular database query specifies selection criteria including at least one join condition that must exist between an inner table and an outer table that is not a directly preceding table in the join order; retrieving rows from successive tables per the join order, including: determining whether a join condition that is being tested refers back to a more-outer table that is not a directly preceding table, if the join condition is not met, fetching the next row, if any, from said more-outer table whose just-tested condition failed, and if the join condition is met, continuing down the join order to examine any subsequent tables in the join order, if any, applying any subsequent query conditions, if any, that must be met in order to qualify for the query; and in the instance that a set of rows under examination meets said selection criteria, qualifying those rows as having satisfied the particular database query.
Claim 3
Dependent Claim
25 words
The method of claim 1 , wherein said join order specifies a particular order for retrieving rows from the tables for examination during query execution.
Claim 4
Dependent Claim
22 words
The method of claim 2 , wherein the rows retrieved for examination are retrieved from a particular sequence of the database tables.
Claim 5
Dependent Claim
27 words
The method of claim 2 , wherein the rows retrieved for examination includes at least some rows retrieved from an index for one of the database tables.
Claim 6
Dependent Claim
20 words
The method of claim 1 , wherein said particular database query comprises an SQL-based query from a client database application.
Claim 7
Dependent Claim
24 words
The method of claim 1 , wherein those rows that are qualified as having satisfied the selection criteria are returned as a query result.
Claim 8
Dependent Claim
22 words
The method of claim 1 , wherein said step of retrieving rows is performed by accessing successive tables per the join order.
Claim 9
Dependent Claim
19 words
The method of claim 1 , wherein said step of retrieving rows is performed using nested loop join technique.
Claim 10
Dependent Claim
22 words
The method of claim 1 , wherein, when the join condition is not met, subsequent comparisons for the join condition are eliminated.
Claim 11
Dependent Claim
29 words
The method of claim 1 , further comprising: when the join condition is not met, storing information in a scan descriptor that indicates why the condition is not met.
Claim 12
Dependent Claim
29 words
The method of claim 10 , wherein the information stored in the scan descriptor includes information indicating that a particular search argument failed during testing of the join condition.
Claim 13
Dependent Claim
16 words
The method of claim 1 , wherein the join condition tests for equality between two values.
Claim 14
Dependent Claim
16 words
The method of claim 1 , wherein the join condition tests for inequality between two values.
Claim 15
Dependent Claim
16 words
The method of claim 1 , wherein the join condition compares two fields from the tables.
Claim 16
Dependent Claim
191 words
An improved method for performing nested loop join query execution for a database query received by a database system, said query execution including examination of values from rows retrieved from successive tables pursuant to a join order, the improvement comprising: determining that the database query specifies a join of three or more tables, where at least one join condition exists between an inner table and an outer table that is not a directly preceding table in the join order; while performing query execution using nested loop join technique, if a join condition which is not met refers back to a more-outer table that is not a directly preceding table, fetching the next row, if any, from that more-outer table whose just-tested join condition failed; if the join condition is met, continuing down the join order to examine any subsequent tables in the join order, if any, applying any subsequent query conditions, if any, that must be met in order to qualify for the query; and in the instance that a set of rows under examination meets all conditions of the database query, qualifying those rows as having satisfied the database query.
Claim 17
Dependent Claim
191 words
An improved method for performing nested loop join query execution for a database query received by a database system, said query execution including examination of values from rows retrieved from successive tables pursuant to a join order, the improvement comprising: determining that the database query specifies a join of three or more tables, where at least one join condition exists between an inner table and an outer table that is not a directly preceding table in the join order; while performing query execution using nested loop join technique, if a join condition which is not met refers back to a more-outer table that is not a directly preceding table, fetching the next row, if any, from that more-outer table whose just-tested join condition failed; if the join condition is met, continuing down the join order to examine any subsequent tables in the join order, if any, applying any subsequent query conditions, if any, that must be met in order to qualify for the query; and in the instance that a set of rows under examination meets all conditions of the database query, qualifying those rows as having satisfied the database query.
Claim 18
Dependent Claim
23 words
The improved method of claim 15 , further comprising: providing a scan descriptor for indicating why a particular join condition is not met.
Claim 19
Dependent Claim
22 words
The improved method of claim 16 , wherein said scan descriptor allows determination of said more-outer table whose just-tested join condition failed.
Claim 20
Dependent Claim
23 words
The method of claim 15 , wherein each join condition specifies a comparison of reference values retrieved from rows of the database tables.