← Back to Patent Explorer
US5778354A Expired / Lapsed US ⏱️ 0.0 years remaining

Database management system with improved indexed accessing

Assignee: Hewlett Packard Development Co LP
•
Filing: 1995-06-07
•
Granted: 1998-07-07
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A database management system (DBMS) provided with a multi-dimensional improved indexed accessing capability using keyed index searching. Individual search keys are constructed from general expression statements created in the DBMS compiler from search queries supplied to the DBMS. Each key column represents another dimension, and both ranges and IN lists can be specified in the search query and used as the predicate values in multiple columns. Missing predicate values in the search query are interpreted as a specification of the minimum and maximum values for the associated search key column. During compile time, the DBMS compiler produces general expressions to be used by the DBMS executor during run time to create the search keys. The DBMS compiler evaluates search queries by associating predicates with clusters and disjunct numbers assigned to each individual disjunct in the search query expression. The DBMS executor uses the general expression from the compiler and eliminates any conflicts among same column predicates, removes redundancies in predicate values and disjuncts and reduces the number of records to be accessed to the minimum required to complete the search query. The individual search keys are generated in the same order as the index to which the search pertains (i.e., increasing or decreasing order).

Inventors

  • 👤 Harry A. Leslie
  • 👤 David W. Birdsall
  • 👤 Rohit N. Jain
  • 👤 Hedieh Yaghmai

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 21:46
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24547; G06F16/22; G06F16/2228; G06F16/2452; G06F16/24526; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 186 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein a search query includes a plurality of disjuncts; and wherein said step (a) of evaluating includes the step of assigning a unique disjunct number to each of said plurality of disjuncts.
Claim 2
Independent Claim 186 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein a search query includes a plurality of disjuncts; and wherein said step (a) of evaluating includes the step of assigning a unique disjunct number to each of said plurality of disjuncts.
Claim 3
Dependent Claim 26 words
The method of claim 1 wherein said step of assigning disjunct numbers includes the step of assigning an individual disjunct number to an IN list predicate.
Claim 4
Dependent Claim 25 words
The method of claim 1 wherein said step (a) of evaluating includes the steps of associating predicates to clusters and associating clusters to disjunct numbers.
Claim 5
Independent Claim 176 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said equivalent range values assigned in step (b) are specified as the lo and hi values of the corresponding preselected column.
Claim 6
Independent Claim 176 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said equivalent range values assigned in step (b) are specified as the lo and hi values of the corresponding preselected column.
Claim 7
Independent Claim 184 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said step (e) of using includes the step of eliminating conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 8
Independent Claim 184 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said step (e) of using includes the step of eliminating conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 9
Independent Claim 184 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said step (e) of using includes the step of eliminating redundant values specified by the disjuncts to minimize the number of search keys required to fulfill the search query.
Claim 10
Independent Claim 184 words
A method of constructing search keys for searching a multi-column table in a database using search keys constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said method comprising the steps of: (a) evaluating the predicate values corresponding to the values of the preselected columns of the table specified by the search query; (b) for each predicate value specified as a range of values, assigning equivalent range values to the corresponding preselected column; (c) for each predicate value specified as an IN list of values, assigning equivalent values to the corresponding preselected column; (d) for each unspecified predicate value, assigning a range of values to the corresponding preselected column; and (e) using the assigned equivalent values from steps (b)-(d) to construct individual search keys for searching the table; wherein said step (e) of using includes the step of eliminating redundant values specified by the disjuncts to minimize the number of search keys required to fulfill the search query.
Claim 11
Dependent Claim 286 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein a search query includes a plurality of disjuncts; and wherein said first procedure causes said processor to assign a unique disjunct number to each of the plurality of disjuncts in the search query.
Claim 12
Dependent Claim 286 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein a search query includes a plurality of disjuncts; and wherein said first procedure causes said processor to assign a unique disjunct number to each of the plurality of disjuncts in the search query.
Claim 13
Dependent Claim 23 words
The system of claim 7 wherein the first procedure causes said processor to assign an individual disjunct number to an IN list predicate.
Claim 14
Dependent Claim 23 words
The system of claim 7 wherein the first procedure causes said processor to associate predicates to clusters and associate clusters to disjunct numbers.
Claim 15
Dependent Claim 280 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein the equivalent range values assigned by the processor in response to the second procedure are specified as the lo and hi values of the corresponding predicate column.
Claim 16
Dependent Claim 280 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein the equivalent range values assigned by the processor in response to the second procedure are specified as the lo and hi values of the corresponding predicate column.
Claim 17
Dependent Claim 280 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein the fifth procedure causes said processor to eliminate conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 18
Dependent Claim 280 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; wherein the fifth procedure causes said processor to eliminate conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 19
Dependent Claim 287 words
A computer system for storing and providing user access to data in stored database objects, said system comprising: a memory for storing said database objects; a communications interface through which user database queries are relayed to said computer system from a user workstation, and through which query results from said computer system are made available to the user workstation; a processor for controlling interactions between said memory and said communications interface in response to a search query received from a user workstation and specifying predicate values corresponding to values of preselected columns of a multi-column table; a computer program for causing said processor to construct individual search keys in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, said computer program including a first procedure for evaluating the predicate values specified by the search query; a second procedure for assigning equivalent range values for each predicate value specified in the search query as a range of values, to the corresponding preselected column; a third procedure for assigning equivalent values for each predicate value specified in the search query as an IN list of values, to the corresponding preselected column; a fourth procedure for assigning a range of values to the corresponding preselected column for each unspecified predicate value; and a fifth procedure for constructing individual search keys from the equivalent values assigned by the first through fourth procedures; The system of claim 8 wherein the fifth procedure causes said processor to eliminate redundant values specified by the disjuncts in order to minimize the number of search keys required to fulfill the search query.
Claim 20
Dependent Claim 253 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein a search query includes a plurality of disjuncts; and wherein said first computer readable program code devices are configured to cause a computer to assign a unique disjunct number to each of said plurality of disjuncts.
Claim 21
Dependent Claim 253 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein a search query includes a plurality of disjuncts; and wherein said first computer readable program code devices are configured to cause a computer to assign a unique disjunct number to each of said plurality of disjuncts.
Claim 22
Dependent Claim 23 words
The computer program product of claim 13 wherein the computer is caused to assign an individual disjunct number to an IN list predicate.
Claim 23
Dependent Claim 31 words
The computer program product of claim 13 wherein said first computer readable program code devices are configured to cause the computer to associate predicates to clusters and clusters to disjunct numbers.
Claim 24
Dependent Claim 248 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein the equivalent range values assigned by the computer in response to said second computer readable program code devices are specified as the lo and hi values of the corresponding predicate column.
Claim 25
Dependent Claim 248 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein the equivalent range values assigned by the computer in response to said second computer readable program code devices are specified as the lo and hi values of the corresponding predicate column.
Claim 26
Dependent Claim 252 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein the fifth computer readable program code devices are additionally configured to cause the computer to eliminate conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 27
Dependent Claim 252 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein the fifth computer readable program code devices are additionally configured to cause the computer to eliminate conflicting predicate values from the same column to reduce the number of potential predicate values for searching that column.
Claim 28
Dependent Claim 252 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein said fifth computer readable program code devices are additionally configured to cause the computer to eliminate redundant values specified by the disjuncts to minimize the number of search keys required to fulfill the search query.
Claim 29
Dependent Claim 252 words
A computer program product comprising a computer usable medium having computer readable code embodied therein for constructing individual search keys for searching a multi-column table in a database, the search keys being constructed in accordance with a search query specifying predicate values corresponding to values of preselected columns of the table, the search keys including names of the preselected columns of the table and associated predicate values, the computer program product comprising: first computer readable program code devices configured to cause a computer to evaluate the predicate values specified by the search query and corresponding to the values of the preselected columns of the table; second computer readable program code devices configured to cause a computer to assign, for each predicate value specified as a range of values, equivalent range values to the corresponding preselected column; third computer readable program code devices configured to cause a computer to assign, for each predicate value specified as an IN list of values, equivalent values to the corresponding preselected column; fourth computer readable program code devices configured to cause a computer to assign, for each unspecified predicate value, a range of values to the corresponding preselected column; and fifth computer readable program code devices configured to cause a computer to use said equivalent values to construct individual search keys; wherein said fifth computer readable program code devices are additionally configured to cause the computer to eliminate redundant values specified by the disjuncts to minimize the number of search keys required to fulfill the search query.

References Cited (Backward Citations)

US4497039A Cited
US4506326A Cited
US4967341A Cited
US5043872A Cited
US5560006A Cited
US5551031A Cited
US5557791A Cited
US5559948A Cited
US5560007A Cited
US5519859A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-06 2002-01-05 2002-07-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-06 2006-01-05 2006-07-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-06 2010-01-05 2010-07-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag