Patent US5963933A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5963933A Expired / Lapsed US ⏱️ 0.0 years remaining

Efficient implementation of full outer join and anti-join

Assignee: SAP SE
•
Filing: 1997-06-25
•
Granted: 1999-10-05
•
Expires: 2017-06-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method for specifying SQL "full outer joins" which enables the use of arbitrary join conditions in specifying the query. This is enabled by equating a full outer join with a left outer join unioned with a right outer join less the matched tuples from the right outer join. A number of embodiments further present improvements in execution speed. One such improvement utilizes as a second operand of the union query a novel operator, the "ANTI-JOIN". The anti-join is implemented as a right outer join coupled with an ISNULL predicate.

Inventors

  • 👤 Josephine M. Cheng
  • 👤 Ting Yu Leung
  • 👤 Mir Hamid Pirahesh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:19
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24537; G06F16/24547; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934; Y10S707/99935; Y10S707/99941; Y10S707/99943

Claims Analysis

Total Claims: 68
Claim 1
Independent Claim 174 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having one or more columns, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the step of joining the tuples of the first and second tables using a full outer join with a join condition, the join condition being free of restrictions as to the type of join condition specified, the step of joining including unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 2
Dependent Claim 174 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having one or more columns, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the step of joining the tuples of the first and second tables using a full outer join with a join condition, the join condition being free of restrictions as to the type of join condition specified, the step of joining including unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 3
Dependent Claim 44 words
The method of claim 1 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 4
Dependent Claim 35 words
The method of claim 2 further comprising the step of combining a plurality of the comparison operators with at least one of the logical operators selected from the list consisting of: AND; OR; and NOT.
Claim 5
Dependent Claim 164 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the step of joining the tuples of the first and second tables using a full outer join with any join condition specifiable in the query language, the step of joining including unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 6
Dependent Claim 164 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the step of joining the tuples of the first and second tables using a full outer join with any join condition specifiable in the query language, the step of joining including unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 7
Dependent Claim 44 words
The method of claim 4 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 8
Dependent Claim 35 words
The method of claim 5 further comprising the step of combining a plurality of the comparison operators with at least one of the logical operators selected from the list consisting of: AND; OR; and NOT.
Claim 9
Dependent Claim 205 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: for a full outer join condition, receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has at least one non-nullable column; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and a right outer join of the first and second operands; and filtering from the answer set all the matched rows of the right outer join.
Claim 10
Dependent Claim 205 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: for a full outer join condition, receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has at least one non-nullable column; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and a right outer join of the first and second operands; and filtering from the answer set all the matched rows of the right outer join.
Claim 11
Dependent Claim 25 words
The method of claim 7, wherein the transforming step further comprises the step of programmatically transforming the right outer join using an early out property.
Claim 12
Dependent Claim 66 words
The method of claim 7 wherein the second operand is a null-producing operand and the filtering step further comprises the steps of: adding a non-nullable column of the null-producing operand to the output of the right outer join; and applying an IS NULL predicate on the non-nullable column after the operation of the right outer join, whereby all matched rows are filtered from the answer set.
Claim 13
Dependent Claim 37 words
The method of claim 9 wherein the step of adding a non-nullable column further comprises the step of including in the non-nullable column at least one of: a primary key; a row identifier; and a tuple identifier.
Claim 14
Dependent Claim 216 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, both tables being tables other than base tables, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: for a full outer join condition, receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has the property of being free of non-nullable columns; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and filtering from the answer set all the matched rows of the right outer join.
Claim 15
Dependent Claim 216 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, both tables being tables other than base tables, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: for a full outer join condition, receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has the property of being free of non-nullable columns; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and filtering from the answer set all the matched rows of the right outer join.
Claim 16
Dependent Claim 25 words
The method of claim 11, wherein the transforming step further comprises the step of programmatically transforming the right outer join using an early out property.
Claim 17
Dependent Claim 42 words
The method of claim 11 wherein the second operand is a null-producing operand and the filtering step further comprises the step of adding a column having a constant value to the null-producing operand, and to the output of the right outer join.
Claim 18
Dependent Claim 37 words
The method of claim 13 further comprising the step of applying an IS NULL predicate on the added column after the operation of the right outer join, whereby all matched rows are filtered from the answer set.
Claim 19
Dependent Claim 153 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the method comprising the steps of: identifying the query as a full outer join query having an answer set including tuplesles of the first table that do not match tuples of the second table; and executing an anti-join query of the first and second tables with a join condition using a run time operator with early out property.
Claim 20
Dependent Claim 153 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the method comprising the steps of: identifying the query as a full outer join query having an answer set including tuplesles of the first table that do not match tuples of the second table; and executing an anti-join query of the first and second tables with a join condition using a run time operator with early out property.
Claim 21
Dependent Claim 44 words
The method of claim 15 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUAL; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 22
Dependent Claim 32 words
The method of claim 16 further comprising combining a plurality of the comparison operators with at least one of the logical operators selected from the list consisting of: AND, OR; and NOT.
Claim 23
Dependent Claim 177 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the method comprising the steps of: receiving an anti-join query of the first and second tables with a join condition, wherein the second table has at least one non-nullable column; programmatically transforming the anti-join into a left outer join of the first and second tables with an early out property; and filtering from the answer set all the matched rows of the left outer join.
Claim 24
Dependent Claim 177 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the method comprising the steps of: receiving an anti-join query of the first and second tables with a join condition, wherein the second table has at least one non-nullable column; programmatically transforming the anti-join into a left outer join of the first and second tables with an early out property; and filtering from the answer set all the matched rows of the left outer join.
Claim 25
Dependent Claim 57 words
The method of claim 18 wherein the filtering step further comprises the steps of: adding a non-nullable column of the second table to the output of the left outer join; applying an IS NULL predicate on the non-nullable column after the operation of the left outer join, whereby all matched rows are filtered from the answer set.
Claim 26
Dependent Claim 37 words
The method of claim 19 wherein the step of adding a non-nullable column further comprises the step of including in the non-nullable column at least one of: a primary key; a row identifier; and a tuple identifier.
Claim 27
Dependent Claim 176 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising tuples of the first table that do not match the tuples of the second table, the method comprising the steps of: receiving an anti-join query of the first and second tables with a join condition, wherein the second table has the property of being free of non-nullable columns; programmatically transforming the anti-join into a left outer join with an early out property; and filtering from the answer set all the matched rows of the left outer join.
Claim 28
Dependent Claim 176 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising tuples of the first table that do not match the tuples of the second table, the method comprising the steps of: receiving an anti-join query of the first and second tables with a join condition, wherein the second table has the property of being free of non-nullable columns; programmatically transforming the anti-join into a left outer join with an early out property; and filtering from the answer set all the matched rows of the left outer join.
Claim 29
Dependent Claim 34 words
The method of claim 21 wherein the filtering step further comprises the steps of: adding a column having a constant value to the second operand, and to the output of the left outer join.
Claim 30
Dependent Claim 37 words
The method of claim 22 further comprises the step of applying an IS NULL predicate on the added column after the operation of the left outer join, whereby all matched rows are filtered from the answer set.
Claim 31
Dependent Claim 170 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: receiving a full outer-join query of the tuples of the first tables with a join condition; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and an anti-join of the first and second operands using a new run time operator.
Claim 32
Dependent Claim 170 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor implemented method for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the method comprising the steps of: receiving a full outer-join query of the tuples of the first tables with a join condition; programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and an anti-join of the first and second operands using a new run time operator.
Claim 33
Dependent Claim 44 words
The method of claim 24 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 34
Dependent Claim 32 words
The method of claim 25 further comprising combining a plurality of the comparison operators with at least one of the logical operators selected from the list consisting of: AND, OR; and NOT.
Claim 35
Dependent Claim 202 words
A computer-implemented apparatus, with bus means, processor means, data storage means, input and output means and a relational database management system, for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having one or more columns, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, which apparatus returns an answer set from the data in the tables responsive to a query to the database management system, the apparatus comprising programmatic means for identifying the query as a full outer join query having an answer set requiring the matching of tuples from the first table and the second table, and programmatic means for joining the tuples of the first and second tables using a full outer join with a join condition, the join condition having the property of being free of restrictions as to the type of join condition specified, the means for joining comprising programmatic means for unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 36
Dependent Claim 202 words
A computer-implemented apparatus, with bus means, processor means, data storage means, input and output means and a relational database management system, for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having one or more columns, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, which apparatus returns an answer set from the data in the tables responsive to a query to the database management system, the apparatus comprising programmatic means for identifying the query as a full outer join query having an answer set requiring the matching of tuples from the first table and the second table, and programmatic means for joining the tuples of the first and second tables using a full outer join with a join condition, the join condition having the property of being free of restrictions as to the type of join condition specified, the means for joining comprising programmatic means for unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 37
Dependent Claim 44 words
The apparatus of claim 27 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 38
Dependent Claim 38 words
The apparatus of claim 28 further comprising programmatic means for combining a plurality of the comparison operators with at least one of the logical operators selected from the list of logical operators consisting of: AND; OR; and NOT.
Claim 39
Dependent Claim 188 words
A computer-implemented apparatus, with bus means, processor means, data storage means, input and output means and a relational database management system, for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, the apparatus for returning an answer set from the data in the tables responsive to a query to the database management system, the apparatus comprising programmatic means for identifying the query as a full outer join query having an answer set requiring the matching of tuples from the first table and the second table, and programmatic means for joining the tuples of the first and second tables using a full outer join with any join condition specifiable in the query language, the means for joining comprising means for unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 40
Dependent Claim 188 words
A computer-implemented apparatus, with bus means, processor means, data storage means, input and output means and a relational database management system, for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, the apparatus for returning an answer set from the data in the tables responsive to a query to the database management system, the apparatus comprising programmatic means for identifying the query as a full outer join query having an answer set requiring the matching of tuples from the first table and the second table, and programmatic means for joining the tuples of the first and second tables using a full outer join with any join condition specifiable in the query language, the means for joining comprising means for unioning a left outer join with a right outer join less the matched tuples from the right outer join.
Claim 41
Dependent Claim 44 words
The apparatus of claim 30 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 42
Dependent Claim 37 words
The apparatus of claim 31 further comprising means for combining a plurality of the comparison operators with at least one of the logical operators selected from the list of logical operators consisting of: AND; OR; and NOT.
Claim 43
Dependent Claim 210 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processing apparatus ("apparatus") for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the apparatus comprising: for a full outer join condition, programmatic means for receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has at least one non-nullable column; programmatic means for transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and programmatic means for filtering from the answer set all the matched rows of the right outer join.
Claim 44
Dependent Claim 210 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processing apparatus ("apparatus") for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the apparatus comprising: for a full outer join condition, programmatic means for receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has at least one non-nullable column; programmatic means for transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and programmatic means for filtering from the answer set all the matched rows of the right outer join.
Claim 45
Dependent Claim 22 words
The apparatus of claim 33 wherein the means for transforming is further transforming the right outer join using an early out property.
Claim 46
Dependent Claim 72 words
The apparatus of claim 33 wherein the second operand is a null producing operand and the programmatic means for filtering further comprises: programmatic means for adding a non-nullable column of the null-producing operand to the output of the right outer join; and programmatic means for applying an IS NULL predicate on the non-nullable column after the operation of the right outer join, whereby all matched rows are filtered from the answer set.
Claim 47
Dependent Claim 38 words
The apparatus of claim 35 wherein the programmatic means for adding a non-nullable column further comprises programmatic means for including in the non-nullable column at least one of: a primary key; a row identifier; and a tuple identifier.
Claim 48
Dependent Claim 213 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processing apparatus ("apparatus") for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the apparatus comprising: for a full outer join condition, programmatic means for receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has the property of being free of non-nullable columns; programmatic means for transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and programmatic means for filtering from the answer set all the matched rows of the right outer join.
Claim 49
Dependent Claim 213 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processing apparatus ("apparatus") for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the apparatus comprising: for a full outer join condition, programmatic means for receiving a full outer join query of the tuples of the first operand and the tuples of the second operand, with a join condition, wherein the second operand has the property of being free of non-nullable columns; programmatic means for transforming the full outer join query into a union query of a left outer join of the first and second operands and a right outer join of the first and second operands; and programmatic means for filtering from the answer set all the matched rows of the right outer join.
Claim 50
Dependent Claim 23 words
The apparatus of claim 37 wherein the means for transforming is further for transforming the right outer join using an early out property.
Claim 51
Dependent Claim 44 words
The apparatus of claim 37 wherein the second operand is a null-producing operand and the programmatic means for filtering further comprises programmatic means for adding a column having a constant value to the null-producing operand, and to the output of the right outer join.
Claim 52
Dependent Claim 38 words
The apparatus of claim 39 wherein the programmatic means for filtering further comprises means for applying an IS NULL predicate after the operation of the right outer join, whereby all matched rows are filtered from the answer set.
Claim 53
Dependent Claim 154 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set form the data in the tables responsive to a query to the database management system, the data processor comprising: means for identifying the query as a full outer join query having an answer set including tuples of the first table that do not match tuples of the second table; and means for executing an anti-join query of the first and second tables with a join condition using a new run time operator with early out property.
Claim 54
Dependent Claim 154 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set form the data in the tables responsive to a query to the database management system, the data processor comprising: means for identifying the query as a full outer join query having an answer set including tuples of the first table that do not match tuples of the second table; and means for executing an anti-join query of the first and second tables with a join condition using a new run time operator with early out property.
Claim 55
Dependent Claim 45 words
The data processor of claim 41 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUAL; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 56
Dependent Claim 32 words
The method of claim 42 wherein a plurality of the comparison operators are combined with at least one of the logical operators selected from the list consisting of: AND, OR; and NOT.
Claim 57
Dependent Claim 179 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the data processor comprising: means for receiving an anti-join query of the first and second tables with a join condition, wherein the second table has at least one non-nullable column; means for programmatically transforming the anti-join into a left outer join of the first and second tables with an early out property; and means for filtering from the answer set all the matched rows of the left outer join.
Claim 58
Dependent Claim 179 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the data processor comprising: means for receiving an anti-join query of the first and second tables with a join condition, wherein the second table has at least one non-nullable column; means for programmatically transforming the anti-join into a left outer join of the first and second tables with an early out property; and means for filtering from the answer set all the matched rows of the left outer join.
Claim 59
Dependent Claim 57 words
The data processor of claim 44 wherein the means for filtering is further for: adding a non-nullable column of the second table to the output of the left outer join; applying an IS NULL predicate on the non-nullable column after the operation of the left outer join, whereby all matched rows are filtered from the answer set.
Claim 60
Dependent Claim 38 words
The data processor of claim 45 wherein the function of adding a non-nullable column further comprises the function of including in the non-nullable column at least one of: a primary key; a row identifier; and a tuple identifier.
Claim 61
Dependent Claim 176 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the data processor comprising: means for receiving an anti-join query of the first and second tables with a join condition, wherein the second table has the property of being free of non-nullable columns; means for programmatically transforming the anti-join into a left outer join with an early out property; and means for filtering from the answer set all the matched rows of the left outer join.
Claim 62
Dependent Claim 176 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set comprising of the first table tuples that do not match the second table tuples, the data processor comprising: means for receiving an anti-join query of the first and second tables with a join condition, wherein the second table has the property of being free of non-nullable columns; means for programmatically transforming the anti-join into a left outer join with an early out property; and means for filtering from the answer set all the matched rows of the left outer join.
Claim 63
Dependent Claim 34 words
The method of claim 47 wherein the filtering function further comprises the function of: adding a column having a constant value to the second operand, and to the output of the left outer join.
Claim 64
Dependent Claim 41 words
The method of claim 48 wherein the filtering function further comprises the function of applying an IS NULL predicate on the added column after the operation of the left outer join, whereby all matched rows are filtered from the answer set.
Claim 65
Dependent Claim 170 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the data processor comprising: means for receiving a full outer-join query of the tuples of the first tables with a join condition; and means for programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and an anti-join of the first and second operands using a run time operator.
Claim 66
Dependent Claim 170 words
In a relational database management system utilizing a data processor for storing data in the form of at least a first table defining a first operand and a second table defining a second operand, the first and second tables comprised of tuples having at least one column, wherein the data contained in the relational database management system is retrievable by means of query language queries to the database management system, a data processor for returning an answer set from the data in the tables responsive to a query to the database management system, the answer set requiring the matching of tuples from the first table and the second table, the data processor comprising: means for receiving a full outer-join query of the tuples of the first tables with a join condition; and means for programmatically transforming the full outer join query into a union query of a left outer join of the first and second operands, and an anti-join of the first and second operands using a run time operator.
Claim 67
Dependent Claim 45 words
The data processor of claim 50 wherein the join condition is from the set of comparison operators consisting of: IS NULL; LIKE; EQUALS; DOES NOT EQUAL; IS GREATER THAN; IS LESS THAN; IS GREATER THAN OR EQUAL TO; and IS LESS THAN OR EQUAL TO.
Claim 68
Dependent Claim 33 words
The data processor of claim 51 further comprising combining a plurality of the comparison operators with at least one of the logical operators selected from the set consisting of: AND, OR; and NOT.

References Cited (Backward Citations)

US5557791A Cited
US5412804A Cited
US5765159A Cited
US5701454A Cited
US5797136A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-04 2003-04-05 2003-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-04 2007-04-05 2007-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-04 2011-04-05 2011-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag