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

Evaluation of existential and universal subquery in a relational database management system for increased efficiency

Assignee: International Business Machines Corp
•
Filing: 1997-06-30
•
Granted: 1999-01-26
•
Expires: 2017-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A relational data base management system includes a query processor that permits consideration of alternative query plans by the query optimizer so one table can be sent to a selected network location for subquery evaluation in consideration of maximum processing efficiency. Subqueries are converted from "predicate push-down" form to scalar subqueries, enabling upper tables to be sent to nodes of lower tables and vice versa, thereby permitting selection of the node direction depending on the least cost alternative. The optimizer of the query processor is presented with rewritten query code that permits more than one alternative for sending tables for evaluation. The optimizer evaluates the alternatives permitted by the rewritten code, determines the optimal plan for each alternative, and selects the least-cost plan from among the plans evaluated. Thus, the optimizer can decide to send an outer table to where a subquery table is located, or can decide to send a subquery table to where an outer table is located, depending on which is more efficient.

Inventors

  • 👤 Ting Yu Leung
  • 👤 Alex Chak-tsang Lui
  • 👤 Mir Hamid Pirahesh
  • 👤 Tuong Chanh Truong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 21:58
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2458; G06F16/2471; G06F16/2453; G06F16/24534; G06F16/24535; G06F16/24542; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932

Claims Analysis

Total Claims: 93
Claim 1
Independent Claim 175 words
A method of optimizing a query in a relational database management system that operates in a computer network and processes the query to retrieve data from computer storage, the method comprising the steps of: receiving a query containing a subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the comparison of table columns at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 2
Independent Claim 175 words
A method of optimizing a query in a relational database management system that operates in a computer network and processes the query to retrieve data from computer storage, the method comprising the steps of: receiving a query containing a subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the comparison of table columns at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 3
Dependent Claim 35 words
A method as defined in claim 1, wherein the step of rewriting the received query comprises the steps of: pushing down the subquery predicate into the subquery; and transforming the subquery into a scalar subquery.
Claim 4
Dependent Claim 14 words
A method as defined in claim 2, wherein the subquery comprises an existential subquery.
Claim 5
Dependent Claim 50 words
A method as defined in claim 3, wherein the relational database management system receives queries and the step of transforming the subquery comprises the steps of: pushing down the subquery predicate into the subquery, thereby forming an "EXISTS" subquery; and forming a scalar subquery returning at most one non-null value.
Claim 6
Dependent Claim 80 words
A method as defined in claim 4, wherein the step of forming a scalar subquery returning at most one non-null value comprises the steps of: forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value; and transforming the "EXISTS" operator into a comparison operator such that whenever a non-null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 7
Dependent Claim 38 words
A method as defined in claim 5, wherein the step of transforming comprises the step of forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 8
Dependent Claim 33 words
A method as defined in claim 2, wherein the subquery comprises a universal subquery in which neither the compared table columns in the main query nor the compared subquery table columns are nullable.
Claim 9
Dependent Claim 47 words
A method as defined in claim 7, wherein the relational database management system receives queries and the step of transforming the subquery comprises the steps of: pushing down the subquery predicate forming an "NOT EXISTS" subquery; and forming a scalar subquery returning at most one non-null value.
Claim 10
Dependent Claim 81 words
A method as defined in claim 8, wherein the step of forming a scalar subquery returning at most one non-null value comprises the steps of: forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value; and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 11
Dependent Claim 25 words
A method as defined in claim 9, wherein the step of transforming comprises the step of forming an "IS NULL" predicate involving the scalar subquery.
Claim 12
Dependent Claim 37 words
A method as defined in claim 2, wherein the subquery comprises a universal subquery in which at least one of the compared table columns in the main query or in the compared subquery table columns are nullable.
Claim 13
Dependent Claim 51 words
A method as defined in claim 11, wherein the relational database management system receives queries and the step of transforming the subquery comprises the steps of: pushing down the subquery predicate forming an "NOT EXISTS" subquery containing a "CASE" expression; and forming a scalar subquery returning at most one non-null value.
Claim 14
Dependent Claim 81 words
A method as defined in claim 12, wherein the step of forming a scalar subquery returning at most one non-null value comprises the step of: forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value; and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 15
Dependent Claim 25 words
A method as defined in claim 13, wherein the step of transforming comprises the step of forming an "IS NULL" predicate involving the scalar subquery.
Claim 16
Dependent Claim 14 words
A method as defined in claim 2, wherein the subquery comprises an "EXISTS" subquery.
Claim 17
Dependent Claim 35 words
A method as defined in claim 15, wherein the relational database management system receives queries and step of transforming the subquery comprises the step of forming a scalar subquery returning at most one non-null value.
Claim 18
Dependent Claim 81 words
A method as defined in claim 16, wherein the step of forming a scalar subquery returning at most one non-null value comprises the step of: forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value; and transforming the "EXISTS" operator into a comparison operator such that whenever a non-null data value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 19
Dependent Claim 38 words
A method as defined in claim 17, wherein the step of transforming comprises the step of forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 20
Dependent Claim 15 words
A method as defined in claim 2, wherein the subquery comprises an "NOT EXISTS" subquery.
Claim 21
Dependent Claim 37 words
A method as defined in claim 19, wherein the relational database management system receives queries and step of transforming into the scalar subquery comprises the step of forming a scalar subquery returning at most one non-null value.
Claim 22
Dependent Claim 81 words
A method as defined in claim 20, wherein the step of forming a scalar subquery returning at most one non-null value comprises the steps of: forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value; and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 23
Dependent Claim 38 words
A method as defined in claim 21, wherein the step of transforming comprises the step of forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 24
Dependent Claim 76 words
A method as defined in claim 1, wherein the step of rewriting the received query comprises the steps of: rewriting the received query into an equivalent query such that the rewritten query allows the subquery to return only one acknowledgment of a match even in the presence of multiple matches; and generating a query plan for the rewritten query and estimating the resource cost, wherein the plan will be considered as an alternative by the processor.
Claim 25
Dependent Claim 27 words
A method as defined in claim 23, wherein the step of rewriting the received query comprises the steps of pushing down the subquery predicate into the subquery.
Claim 26
Dependent Claim 14 words
A method as defined in claim 24, wherein the subquery comprises an existential subquery.
Claim 27
Dependent Claim 45 words
A method as defined in claim 25, wherein the relational database management system receives queries and step of pushing comprises the steps of forming an EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 28
Dependent Claim 14 words
A method as defined in claim 24, wherein the subquery comprises a universal subquery.
Claim 29
Dependent Claim 46 words
A method as defined in claim 27, wherein the relational database management system receives queries and step of pushing comprises the steps of forming a NOT EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 30
Dependent Claim 132 words
A method as defined in claim 1, wherein: the received query contains an EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the query processor.
Claim 31
Dependent Claim 133 words
A method as defined in claim 1, wherein: the received query contains a NOT EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the query processor.
Claim 32
Dependent Claim 185 words
A relational database management system comprising: a central processing unit at a first node of a computer network; and a query processor that receives relational queries at the first node and optimizes them to retrieve data from the data storage devices, wherein the query processor performs optimization by receiving a query containing a subquery such that one or more columns of a first table are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the table comparison at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 33
Dependent Claim 185 words
A relational database management system comprising: a central processing unit at a first node of a computer network; and a query processor that receives relational queries at the first node and optimizes them to retrieve data from the data storage devices, wherein the query processor performs optimization by receiving a query containing a subquery such that one or more columns of a first table are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the table comparison at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 34
Dependent Claim 33 words
A system as defined in claim 31, wherein the query processor rewrites the received query by pushing down the subquery pre dicate into the subquery and transforming the subquery into a scalar subquery.
Claim 35
Dependent Claim 14 words
A system as defined in claim 32, wherein the subquery comprises an existential subquery.
Claim 36
Dependent Claim 43 words
A system as defined in claim 33, wherein the relational database managementsystem receives queries and the query processor forms the scalar subquery by pushing down the subquery predicate forming an "EXISTS" subquery and forming a scalar subquery returning at most one non-null value.
Claim 37
Dependent Claim 78 words
A system as defined in claim 34, wherein the query processor forms a scalar subquery that returns at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value, and transforming the "EXISTS" operator into a comparison operator such that whenever a non-null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 38
Dependent Claim 37 words
A system as defined in claim 35, wherein the query processor transforms the subquery by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 39
Dependent Claim 33 words
A system as defined in claim 32, wherein the subquery comprises a universal subquery in which neither the compared table columns in the main query nor the compared subquery table columns are nullable.
Claim 40
Dependent Claim 48 words
A system as defined in claim 37, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by pushing down the subquery predicate forming a "NOT EXISTS" subquery and forming a scalar subquery returning at most one non-null value.
Claim 41
Dependent Claim 78 words
A system as defined in claim 38, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value, and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 42
Dependent Claim 22 words
A system as defined in claim 39, wherein the query processor transforms by forming an "IS NULL" predicate involving the scalar subquery.
Claim 43
Dependent Claim 37 words
A system as defined in claim 32, wherein the subquery comprises a universal subquery in which at least one of the compared table columns in the main query or in the compared subquery table columns are nullable.
Claim 44
Dependent Claim 48 words
A system as defined in claim 41, wherein the relational database management system receives queries and the query processor transforms the subquery by pushing down the subquery predicate forming an "NOT EXISTS" subquery containing a "CASE" expression and forming a scalar subquery returning at most one non-null value.
Claim 45
Dependent Claim 78 words
A system as defined in claim 42, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 46
Dependent Claim 22 words
A system as defined in claim 43, wherein the query processor transforms by forming an "IS NULL" predicate involving the scalar subquery.
Claim 47
Dependent Claim 14 words
A system as defined in claim 32, wherein the subquery comprises an "EXISTS" subquery.
Claim 48
Dependent Claim 34 words
A system as defined in claim 45, wherein the relational database management system receives queries and transforms the subquery into the scalar subquery by forming a scalar subquery returning at most one non-null value.
Claim 49
Dependent Claim 78 words
A system as defined in claim 46, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value, and transforming the EXISTS operator into a comparison operator such that whenever a non-null data value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 50
Dependent Claim 35 words
A system as defined in claim 47, wherein the query processor transforms by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 51
Dependent Claim 15 words
A system as defined in claim 32, wherein the subquery comprises a "NOT EXISTS" subquery.
Claim 52
Dependent Claim 37 words
A system as defined in claim 49, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by forming a scalar subquery returning at most one non-null value.
Claim 53
Dependent Claim 78 words
A system as defined in claim 50, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value, and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 54
Dependent Claim 35 words
A system as defined in claim 51, wherein the query processor transforms by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 55
Dependent Claim 73 words
A system as defined in claim 31, wherein the query processor rewrites the received query by rewriting the received query into an equivalent query such that the rewritten query allows the subquery to return only one acknowledgment of a match even in presence of multiple matches, and generating a query plan for the rewritten query and estimating the resource cost, wherein the plan will be considered as an alternative by the query processor.
Claim 56
Dependent Claim 24 words
A system as defined in claim 53, wherein the query processor rewrites the received query by pushing down the subquery predicate into the subquery.
Claim 57
Dependent Claim 14 words
A system as defined in claim 54, wherein the subquery comprises an existential subquery.
Claim 58
Dependent Claim 45 words
A method as defined in claim 55, wherein the relational database management system receives queries and step of pushing comprises the steps of forming an EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 59
Dependent Claim 14 words
A method as defined in claim 54, wherein the subquery comprises a universal subquery.
Claim 60
Dependent Claim 46 words
A method as defined in claim 57, wherein the relational database management system receives queries and step of pushing comprises the steps of forming a NOT EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 61
Dependent Claim 131 words
A method as defined in claim 31, wherein: the received query contains an EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the optimizer.
Claim 62
Dependent Claim 132 words
A system as defined in claim 31, wherein: the received query contains a NOT EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the optimizer.
Claim 63
Dependent Claim 190 words
A program product data storage device, tangibly embodying a program of machine-readable instructions executable by a computer system connected to a computer network, the program product comprising: a recordable media; a relational data base management system (RDBMS) recorded on the recordable media, the RDBMS having a query processor that executes steps of receiving a query containing subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the table comparison at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 64
Dependent Claim 190 words
A program product data storage device, tangibly embodying a program of machine-readable instructions executable by a computer system connected to a computer network, the program product comprising: a recordable media; a relational data base management system (RDBMS) recorded on the recordable media, the RDBMS having a query processor that executes steps of receiving a query containing subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, wherein the tables in the query are partitioned on a first set of nodes of the computer network and the tables in the subquery are partitioned on a second set of nodes of the computer network; rewriting the received query into an equivalent query such that the rewritten query allows performing the table comparison at either the first set of nodes or the second set of nodes; evaluating the resource cost of performing the table comparison at the first set of nodes or the second set of nodes; and selecting and generating a query plan for the selected rewritten query according to which has the lesser resource cost.
Claim 65
Dependent Claim 33 words
A program product as defined in claim 61, wherein the query processor rewrites the received query by pushing down the subquery predicate into the subquery and transforming the subquery into a scalar subquery.
Claim 66
Dependent Claim 15 words
A program product as defined in claim 62, wherein the subquery comprises an existential subquery.
Claim 67
Dependent Claim 48 words
A program product as defined in claim 63, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by pushing down the subquery predicate forming an "EXISTS" subquery and forming a scalar subquery returning at most one non-null value.
Claim 68
Dependent Claim 78 words
A program product as defined in claim 64, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value, and transforming the "EXISTS" operator into a comparison operator such that whenever a non-null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 69
Dependent Claim 36 words
A program product as defined in claim 65, wherein the query processor transforms by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 70
Dependent Claim 34 words
A program product as defined in claim 62, wherein the subquery comprises a universal subquery in which neither the compared table columns in the main query nor the compared subquery table columns are nullable.
Claim 71
Dependent Claim 49 words
A program product as defined in claim 67, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by pushing down the subquery predicate forming an "NOT EXISTS" subquery and forming a scalar subquery returning at most one non-null value.
Claim 72
Dependent Claim 79 words
A program product as defined in claim 68, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 73
Dependent Claim 23 words
A program product as defined in claim 69, wherein the query processor transforms by forming an IS NULL predicate involving the scalar subquery.
Claim 74
Dependent Claim 37 words
A program product as defined in claim 62, wherein the subquery comprises a universal subquery in which at least one of the compared table columns in the main query or the compared subquery table columns are nullable.
Claim 75
Dependent Claim 53 words
A program product as defined in claim 71, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by pushing down the subquery predicate forming an "NOT EXISTS" subquery containing a "CASE" expression and forming a scalar subquery returning at most one non-null value.
Claim 76
Dependent Claim 79 words
A program product as defined in claim 72, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 77
Dependent Claim 23 words
A program product as defined in claim 73, wherein the query processor transforms by forming an "IS NULL," predicate involving the scalar subquery.
Claim 78
Dependent Claim 15 words
A program product as defined in claim 62, wherein the subquery comprises an "EXISTS" subquery.
Claim 79
Dependent Claim 38 words
A program product as defined in claim 75, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by forming a scalar subquery returning at most one non-null value.
Claim 80
Dependent Claim 79 words
A program product as defined in claim 76, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value and transforming the "EXISTS" operator into a comparison operator such that whenever a non-null data value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 81
Dependent Claim 36 words
A program product as defined in claim 77, wherein the query processor transforms by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 82
Dependent Claim 16 words
A program product as defined in claim 62, wherein the subquery comprises an "NOT EXISTS" subquery.
Claim 83
Dependent Claim 38 words
A program product as defined in claim 79, wherein the relational database management system receives queries and the query processor transforms the subquery into the scalar subquery by forming a scalar subquery returning at most one non-null value.
Claim 84
Dependent Claim 79 words
A program product as defined in claim 80, wherein the query processor forms a scalar subquery returning at most one non-null value by forming a "SELECT" clause involving only a single non-null value and a "DISTINCT" operator, which removes all duplicates of the non-null value and transforming the "NOT EXISTS" operator into a comparison operator such that whenever a null value is returned from the scalar subquery, the comparison operator becomes true, and the comparison operator otherwise becomes false.
Claim 85
Dependent Claim 36 words
A program product as defined in claim 81, wherein the query processor transforms by forming an equal operator comparing the same non-null value used in the scalar subquery against the value returning from the scalar subquery.
Claim 86
Dependent Claim 74 words
A program product as defined in claim 61, wherein the query processor rewrites the received query by rewriting the received query into an equivalent query such that the rewritten query allows the subquery to return only one acknowledgment of a match even in presence of multiple matches, and generating a query plan for the rewritten query and estimating the resource cost, wherein the plan will be considered as an alternative by the query processor.
Claim 87
Dependent Claim 25 words
A program product as defined in claim 83, wherein the query processor rewrites the received query by pushing down the subquery predicate into the subquery.
Claim 88
Dependent Claim 15 words
A program product as defined in claim 84, wherein the subquery comprises an existential subquery.
Claim 89
Dependent Claim 46 words
A program product as defined in claim 85, wherein the relational database management system receives queries and step of pushing comprises the steps of forming an EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 90
Dependent Claim 14 words
A method as defined in claim 84, wherein the subquery comprises a universal subquery.
Claim 91
Dependent Claim 46 words
A method as defined in claim 87, wherein the relational database management system receives queries and step of pushing comprises the steps of forming a NOT EXISTS subquery, and allowing generation of a plan in which the subquery can return only one acknowledgment for multiple matches.
Claim 92
Dependent Claim 131 words
A method as defined in claim 61, wherein: the received query contains an EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the optimizer.
Claim 93
Dependent Claim 133 words
A program product as defined in claim 61, wherein: the received query contains a NOT EXISTS subquery such that one or more columns of the tables in the query are compared with one or more columns of the tables in the subquery, and wherein the tables in the query are partitioned on the first set of nodes of the computer network and the tables in the subquery are partitioned on the second set of nodes of the computer network; and the step of selecting and generating comprises: generating a query plan for the query such that the subquery can return only one acknowledgment of a match even in presence of multiple matches; and estimating the resource cost of the generated plan, wherein the plan will be considered as an alternative by the optimizer.

References Cited (Backward Citations)

US5325525A Cited
US5367675A Cited
US5544355A Cited
US5742806A Cited
US5659725A Cited
US5590324A Cited
US5548755A Cited
US5745746A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag