Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
190 words
A computer program product comprising a computer readable medium having computer program logic recorded thereon for enabling a processor in a computer system to process object-oriented queries so as to retrieve data from a relational database management system (RDBMS), said computer program product comprising: means for enabling the processor to receive an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; a first query generator for enabling the processor to translate said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; a second query generator for enabling the processor to generate from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and means for enabling the processor to cause said RDBMS to process said set of relational queries.
Claim 2
Dependent Claim
190 words
A computer program product comprising a computer readable medium having computer program logic recorded thereon for enabling a processor in a computer system to process object-oriented queries so as to retrieve data from a relational database management system (RDBMS), said computer program product comprising: means for enabling the processor to receive an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; a first query generator for enabling the processor to translate said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; a second query generator for enabling the processor to generate from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and means for enabling the processor to cause said RDBMS to process said set of relational queries.
Claim 3
Dependent Claim
179 words
The computer program product of claim 1 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein said second query generator comprises: means for enabling the processor to determine whether said prefetch path component defines a (0,1)-to-(0,1) relationship; means for enabling the processor to generate first and second relational queries when said prefetch path component defines a (0,1)-to-(0,1) relationship, wherein: (i) said first relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class not pointing to objects along said prefetch path component, and which satisfy said condition list; and (ii) said second relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said top-level class which point to objects along said prefetch path component, and which satisfy said condition list, said second relational query also operating to retrieve from the RDBMS data needed to construct said objects along said prefetch path component.
Claim 4
Dependent Claim
131 words
The computer program product of claim 1 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein said second query generator comprises: means for enabling the processor to determine whether said prefetch path component defines a (1,1)-to-(1,1) relationship; and means for enabling the processor to generate, if said prefetch path component defines a (1,1)-to-(1,1) relationship, a relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class which point to objects along said prefetch path component, and which satisfy said condition list, said relational query also operating to retrieve from the RDBMS data needed to construct said objects along said prefetch path component.
Claim 5
Dependent Claim
144 words
The computer program product of claim 1 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein said second query generator comprises: means for enabling the processor to determine whether said prefetch path component defines a one-to-many relationship; means for enabling the processor to generate first and second relational queries when said prefetch path component defines a one-to-many relationship, wherein: (i) said first relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class that satisfy said condition list; and (ii) said second relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects along said prefetch path component that are pointed to by said objects of said top-level class.
Claim 6
Dependent Claim
129 words
The computer program product of claim 4 in which said top-level class maps to a top-level table, and said prefetch path component identifies a prefetch class that maps to a prefetch table, wherein said second query generator further comprises: means for enabling the processor to generate a first relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said first relational query according to a foreign key in said top-level table that identifies tuples in said prefetch table; and means for enabling the processor to generate a second relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said second relational query according to a primary key of said prefetch table.
Claim 7
Dependent Claim
29 words
The computer program product of claim 5, further comprising: means for enabling the processor to merge said sorted tuples retrieved by operation of said first and second relational queries.
Claim 8
Dependent Claim
255 words
The computer program product of claim 1 in which said object-oriented query includes a condition list, said at least one prefetch path includes at least one prefetch path component, said object-oriented query identifies a top-level class that maps to a top-level table, said prefetch path component identifies a prefetch class that maps to a prefetch table, wherein said RDBMS maintains an intermediate table that stores a top-level foreign key from said top-level table that references said prefetch table, and a prefetch foreign key from said prefetch table that references said top-level table, and wherein said second query generator comprises: means for enabling the processor to determine whether said prefetch path component defines a many-to-many relationship; means for enabling the processor to generate first, second, and third relational queries when said prefetch path component defines a many-to-many relationship, wherein: (i) said first relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said top-level class that satisfy said condition list; (ii) said second relational query, when processed by the RDBMS, operates to retrieve from said RDBMS said top-level foreign key and said prefetch foreign key from tuples of said intermediate table that satisfy said condition list; and (iii) said third relational query, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said prefetch class that satisfy said condition list and that are pointed to by said top-level class objects as indicated by said retrieved top-level and prefetch foreign keys.
Claim 9
Dependent Claim
135 words
The computer program product of claim 7, wherein said second query generator further comprises: means for enabling the processor to generate a first relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said first relational query according to a primary key of said top-level table; means for enabling the processor to generate a second relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said second relational query according to said top-level foreign key; and means for enabling the processor to generate a third relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said third relational query according to a primary key of said prefetch table.
Claim 10
Dependent Claim
30 words
The computer program product of claim 8, further comprising: means for enabling the processor to merge said sorted tuples retrieved by operation of said first, second, and third relational queries.
Claim 11
Dependent Claim
51 words
The computer program product of claim 1, wherein said at least one prefetch path specifies a class pointed to by a relationship attribute in said top-level objects, whereby said one or more objects identified by said at least one prefetch path correspond to said class pointed to by said relationship attribute.
Claim 12
Dependent Claim
162 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), said method steps comprising: (1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; (2) translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (3) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and (4) causing said RDBMS to process said set of relational queries.
Claim 13
Dependent Claim
162 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), said method steps comprising: (1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said at least one prefetch path identifying one or more objects which are desired to be constructed; (2) translating said object-oriented query to a translated object query, said translated object query being a relational database query capable of retrieving from said RDBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (3) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said RDBMS data to construct said objects identified by said at least one prefetch path; and (4) causing said RDBMS to process said set of relational queries.
Claim 14
Dependent Claim
168 words
The program storage device of claim 11 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein step (3) comprises the steps of: (a) determining whether said prefetch path component defines a (0,1)-to-(0,1) relationship; (b) if said prefetch path component defines a (0,1)-to-(0,1) relationship, then: (i) generating a first relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class not pointing to objects along said prefetch path component, and which satisfy said condition list; and (ii) generating a second relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said top-level class which point to objects along said prefetch path component, and which satisfy said condition list, said second relational query also operating to retrieve from the RDBMS data needed to construct said objects along said prefetch path component.
Claim 15
Dependent Claim
123 words
The program storage device of claim 11 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein step (3) comprises the steps of: (a) determining whether said prefetch path component defines a (1,1)-to-(1,1) relationship; and (b) if said prefetch path component defines a (1,1)-to-(1,1) relationship, then generating a relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class which point to objects along said prefetch path component, and which satisfy said condition list, said relational query also operating to retrieve from the RDBMS data needed to construct said objects along said prefetch path component.
Claim 16
Dependent Claim
133 words
The program storage device of claim 11 in which said object-oriented query includes a condition list, and in which said at least one prefetch path includes at least one prefetch path component, wherein step (3) comprises the steps of: (a) determining whether said prefetch path component defines a one-to-many relationship; (b) if said prefetch path component defines a one-to-many relationship, then: (i) generating a first relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of a top-level class that satisfy said condition list; and (ii) generating a second relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects along said prefetch path component that are pointed to by said objects of said top-level class.
Claim 17
Dependent Claim
120 words
The program storage device of claim 14 in which said top-level class maps to a top-level table, and said prefetch path component identifies a prefetch class that maps to a prefetch table, wherein step (b) further comprises the steps of: (iii) generating a first relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said first relational query according to a foreign key in said top-level table that identifies tuples in said prefetch table; and (iv) generating a second relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said second relational query according to a primary key of said prefetch table.
Claim 18
Dependent Claim
31 words
The program storage device of claim 15, wherein said method steps further comprise the step of: (5) merging said sorted tuples retrieved by operation of said first and second relational queries.
Claim 19
Dependent Claim
248 words
The program storage device of claim 11 in which said object-oriented query includes a condition list, said at least one prefetch path includes at least one prefetch path component, said object-oriented query identifies a top-level class that maps to a top-level table, said prefetch path component identifies a prefetch class that maps to a prefetch table, and in which an intermediate table is maintained by the RDBMS that stores a top-level foreign key from said top-level table that references said prefetch table, and a prefetch foreign key from said prefetch table that references said top-level table, wherein step (3) comprises the steps of: (a) determining whether said prefetch path component defines a many-to-many relationship; (b) if said prefetch path component defines a many-to-many relationship, then: (i) generating a first relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said top-level class that satisfy said condition list; (ii) generating a second relational query which, when processed by the RDBMS, operates to retrieve from said RDBMS said top-level foreign key and said prefetch foreign key from tuples of said intermediate table that satisfy said condition list; and (iii) generating a third relational query which, when processed by the RDBMS, operates to retrieve from the RDBMS data needed to construct objects of said prefetch class that satisfy said condition list and that are pointed to by said top-level class objects as indicated by said retrieved top-level and prefetch foreign keys.
Claim 20
Dependent Claim
121 words
The program storage device of claim 17, wherein step (b) further comprises the steps of: (iv) generating a first relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said first relational query according to a primary key of said top-level table; (v) generating a second relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said second relational query according to said top-level foreign key; and (vi) generating a third relational database command which, when processed by the RDBMS, causes the RDBMS to sort tuples retrieved by operation of said third relational query according to a primary key of said prefetch table.
Claim 21
Dependent Claim
32 words
The program storage device of claim 18, wherein said method steps further comprise the step of: (5) merging said sorted tuples retrieved by operation of said first, second, and third relational queries.
Claim 22
Dependent Claim
41 words
The program storage device of claim 11, wherein step (3) comprises the steps of: (a) generating a nested path representation of said at least one prefetch path; and (b) traversing said nested path representation to generate said set of relational queries.
Claim 23
Dependent Claim
51 words
The program storage device of claim 11, wherein said at least one prefetch path specifies a class pointed to by a relationship attribute in said top-level objects, whereby said one or more objects identified by said at least one prefetch path correspond to said class pointed to by said relationship attribute.
Claim 24
Dependent Claim
155 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for processing object-oriented queries so as to retrieve data from a non-object oriented database management system (DBMS), said method steps comprising: (1) receiving a translated object query generated from an object-oriented query having at least one prefetch path, said at least one prefetch path identifying one or more objects which are desired to be constructed, said translated object query being a relational database query capable of retrieving from said DBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (2) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said DBMS data to construct said objects identified by said at least one prefetch path; and (3) causing said DBMS to process said set of relational queries.
Claim 25
Dependent Claim
155 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for processing object-oriented queries so as to retrieve data from a non-object oriented database management system (DBMS), said method steps comprising: (1) receiving a translated object query generated from an object-oriented query having at least one prefetch path, said at least one prefetch path identifying one or more objects which are desired to be constructed, said translated object query being a relational database query capable of retrieving from said DBMS data to initialize base attributes of top-level objects identified by said object-oriented query; (2) generating from said translated object query and said at least one prefetch path a set of relational queries capable of retrieving from said DBMS data to construct said objects identified by said at least one prefetch path; and (3) causing said DBMS to process said set of relational queries.
Claim 26
Dependent Claim
50 words
The database system of claim 22, wherein said at least one prefetch path specifies a class pointed to by a relationship attribute in said top-level objects, whereby said one or more objects identified by said at least one prefetch path correspond to said class pointed to by said relationship attribute.