US5963932A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for transforming queries
Assignee: Oracle International Corp
•
Filing: 1997-04-29
•
Granted: 1999-10-05
•
Expires: 2017-04-29
Abstract
Abstract In processing a query, a database server parses a string describing a query into a query representation. The query string is parsed again to generate a replica of the query representation. Various transformations can be applied to the replica in order to reduce the amount of processing for the query. In addition, transformations are applied to the query string before parsing again to produce a transformed query representation. A transformed query representation is selected for processing a query according to an estimated cost of using the query representation.
Inventors
- 👤 Hakan Jakobsson
- 👤 Michael Depledge
- 👤 Jeffrey I. Cohen
- 👤 Cetin Ozbutun
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 21:51
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/283; G06F16/24; G06F16/245; G06F16/2452; G06F16/24526; G06F16/2453; G06F16/24534; G06F16/24542; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933
Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
70 words
A method for processing a query, described by an original query string, in a database system, comprising the steps of: parsing the original query string to produce a first query representation; parsing the original query string to produce a second query representation, wherein the first query representation and the second query representation are separate copies of one another; and transforming the second query representation to produce a transformed query representation.
Claim 2
Independent Claim
70 words
A method for processing a query, described by an original query string, in a database system, comprising the steps of: parsing the original query string to produce a first query representation; parsing the original query string to produce a second query representation, wherein the first query representation and the second query representation are separate copies of one another; and transforming the second query representation to produce a transformed query representation.
Claim 3
Dependent Claim
50 words
The method of claim 1, wherein the step of transforming the second query representation to produce a transformed query representation further comprises the steps of: removing parts of the second query representation to produce a reduced query representation; and transforming the reduced query representation to produce the transformed query representation.
Claim 4
Dependent Claim
36 words
The method of claim 1, further comprising the steps of: generating a third query representation based upon the first query representation and the transformed query representation; and processing the query according to the third query representation.
Claim 5
Dependent Claim
47 words
The method of claim 3, wherein the step of generating a third query representation based on the first query representation and the transformed query representation includes the step of inserting parts of the transformed query representation into the first query representation to produce the third query representation.
Claim 6
Dependent Claim
106 words
The method of claim 3, wherein the step of generating a third query representation based upon the first query representation and the transformed query representation includes the steps of: determining a first query cost from the first query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if the second query cost is less than the first query cost, then establishing the transformed query representation as the third query representation; and if the first query cost is less than the second query cost, then establishing the first query representation as the third query representation.
Claim 7
Independent Claim
141 words
A method for processing a query, described by an original query string, in a database system, comprising the steps of: parsing the original query string to produce a first query representation; determining a first query cost from the first query representation; transforming the first query representation to produce a transformed query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if said comparing indicates that the second query cost is less than the first query cost, then processing the query according to the transformed query representation; and if said comparing indicates that the first query cost is less than the second query cost, then performing the steps of: reparsing the original query string to produce a second query representation; and processing the query according to the second query representation.
Claim 8
Independent Claim
141 words
A method for processing a query, described by an original query string, in a database system, comprising the steps of: parsing the original query string to produce a first query representation; determining a first query cost from the first query representation; transforming the first query representation to produce a transformed query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if said comparing indicates that the second query cost is less than the first query cost, then processing the query according to the transformed query representation; and if said comparing indicates that the first query cost is less than the second query cost, then performing the steps of: reparsing the original query string to produce a second query representation; and processing the query according to the second query representation.
Claim 9
Independent Claim
86 words
A method for processing a query, described by an original query string, in a database system, comprising the computer-implemented steps of: parsing the original query string to produce a first query representation; transforming the original query string to produce a second query string; parsing the second query string to produce a second query representation, separate from the first query representation; generating a third query representation based upon the first query representation and the second query representation; and processing the query according to the third query representation.
Claim 10
Independent Claim
86 words
A method for processing a query, described by an original query string, in a database system, comprising the computer-implemented steps of: parsing the original query string to produce a first query representation; transforming the original query string to produce a second query string; parsing the second query string to produce a second query representation, separate from the first query representation; generating a third query representation based upon the first query representation and the second query representation; and processing the query according to the third query representation.
Claim 11
Dependent Claim
38 words
The method of claim 7, wherein the step of transforming the original query string to produce a second query string further comprises the step of extracting a substring from the original query string as the second query string.
Claim 12
Dependent Claim
33 words
The method of claim 7, wherein the step of transforming the original query string to produce a second query string further comprises the step of appending a string to the original query string.
Claim 13
Dependent Claim
40 words
The method of claim 7, wherein the step of transforming the original query string to produce a second query string further comprises the step of generating directly the second query string based on information found in the original query string.
Claim 14
Dependent Claim
106 words
The method of claim 7, wherein the step of generating a third query representation based upon the first query representation and the second query representation includes the steps of: determining a first query cost from the first query representation; determining a second query cost from the second query representation; comparing the first query cost and the second query cost; if the first query cost is less than the second query cost, then establishing the first query representation as the third query representation; and if the second query cost is less than the first query cost, then establishing the second query representation as the third query representation.
Claim 15
Dependent Claim
85 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said sequences of instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; parsing the original query string to produce a second query representation, wherein the first query representation and the second query representation are separate copies of one another; and transforming the second query representation to produce a transformed query representation.
Claim 16
Dependent Claim
85 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said sequences of instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; parsing the original query string to produce a second query representation, wherein the first query representation and the second query representation are separate copies of one another; and transforming the second query representation to produce a transformed query representation.
Claim 17
Dependent Claim
52 words
The computer readable medium of claim 12, wherein the step of transforming the second query representation to produce a transformed query representation further comprises the steps of: removing parts of the second query representation to produce a reduced query representation; and transforming the reduced query representation to produce the transformed query representation.
Claim 18
Dependent Claim
43 words
The computer-readable medium of claim 12, wherein said instruction further include instructions for performing the steps of: generating a third query representation based upon the first query representation and the transformed query representation; and processing the query according to the third query representation.
Claim 19
Dependent Claim
49 words
The computer readable medium of claim 14, wherein the step of generating a third query representation based on the first query representation and the transformed query representation includes the steps of inserting parts of the transformed query representation into the first query representation to produce the third query representation.
Claim 20
Dependent Claim
109 words
The computer readable medium of claim 14, wherein the step of generating a third query representation based upon the first query representation and the transformed query representation further comprises the steps of: determining a first query cost from the first query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if the first query cost is less than the second query cost, then establishing the first query representation as the third query representation; and if the second query cost is less than the first query cost, then establishing the transformed query representation as the third query representation.
Claim 21
Dependent Claim
156 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said sequences of instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; determining a first query cost from the first query representation; transforming the original query string to produce a transformed query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if said comparing indicates that the second query cost is less than the first query cost, then processing the query according to the transformed query representation; and if said comparing indicates that the first query cost is less than the second query cost, then performing the steps of: reparsing the original query string to produce a second query representation; and processing the query according to the second query representation.
Claim 22
Dependent Claim
156 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said sequences of instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; determining a first query cost from the first query representation; transforming the original query string to produce a transformed query representation; determining a second query cost from the transformed query representation; comparing the first query cost and the second query cost; if said comparing indicates that the second query cost is less than the first query cost, then processing the query according to the transformed query representation; and if said comparing indicates that the first query cost is less than the second query cost, then performing the steps of: reparsing the original query string to produce a second query representation; and processing the query according to the second query representation.
Claim 23
Dependent Claim
98 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; transforming the original query string to produce a second query string; parsing the second query string to produce a second query representation, separate from the first query representation; generating a third query representation based upon the first query representation and the second query representation; and processing the query according to the third query representation.
Claim 24
Dependent Claim
98 words
A computer readable medium having stored thereon sequences of instructions for processing a query, described by an original query string, in a database system, said instructions including instructions for performing the steps of: parsing the original query string to produce a first query representation; transforming the original query string to produce a second query string; parsing the second query string to produce a second query representation, separate from the first query representation; generating a third query representation based upon the first query representation and the second query representation; and processing the query according to the third query representation.
Claim 25
Dependent Claim
40 words
The computer readable medium of claim 17, wherein the step of transforming the original query string to produce a second query string further comprises the step of extracting a substring from the original query string as the second query string.
Claim 26
Dependent Claim
35 words
The computer readable medium of claim 17, wherein the step of transforming the original query string to produce a second query string further comprises the step of appending a string to the original query string.
Claim 27
Dependent Claim
42 words
The computer readable medium of claim 17, wherein the step of transforming the original query string to produce a second query string further comprises the step of generating directly the second query string based on information found in the original query string.
Claim 28
Dependent Claim
109 words
The computer readable medium of claim 18, wherein the step of producing a third query representation based upon the first query representation and the second query representation further comprises the steps of: determining a first query cost from the first query representation; determining a second query cost from the second query representation; comparing the first query cost and the second query cost; if the first query cost is less than the second query cost, then establishing the first query representation as the third query representation; and if the second query cost is less than the first query cost, then establishing the second query representation as the third query representation.
References Cited (Backward Citations)
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 |