Method for unordered relational database retrieval returning distinct values
First Claim
1. A method performed by a process in a computer system for providing a set of relational data to a consumer process, the method comprising the steps of:
- (a) retrieving from a database table a tuple in a sequence of tuples upon receiving a query from the consumer process requesting distinct tuples;
(b) determining using an auxiliary logger component whether the retrieved tuple is unique in comparison to previously retrieved tuples in the sequence by using a sorted table that stores the unique tuple wherein the retrieved tuple may be returned to the consumer process immediately after the retrieved tuple is determined to be unique without sorting the entire set of tuples and indicating whether the retrieved tuple has been previously received by the auxiliary logger component;
(c) providing using a distinct operator component the consumer process with the retrieved tuple where the tuple is unique and discarding the tuple where the tuple is not unique; and
(d) repeating the above steps until all tuples in the sequence of tuples have been retrieved from the database table,wherein at least one distinct tuple in the sequence of tuples is provided to the consumer process prior to retrieval of all tuples in the sequence of tuples from the database table.
5 Assignments
0 Petitions
Accused Products
Abstract
The retrieval of distinct tuples in a relational database management system. In response to a request from a consumer process for distinct tuples in a relational database table matching a defined criteria, a distinct operator component sequentially requests tuples from a source component. The source component access the database table and returns a tuple in the sequence to the distinct operator component. The distinct operator component passes each tuple in the sequence to an auxiliary logger. The auxiliary component receives a tuples from the distinct component and determines if it is distinct from other previously received tuples in the sequence to verify its uniqueness to the distinct operator. Tuples that are verified as unique by the auxiliary logger are returned to the consumer process by the distinct operator upon verification.
-
Citations
17 Claims
-
1. A method performed by a process in a computer system for providing a set of relational data to a consumer process, the method comprising the steps of:
-
(a) retrieving from a database table a tuple in a sequence of tuples upon receiving a query from the consumer process requesting distinct tuples; (b) determining using an auxiliary logger component whether the retrieved tuple is unique in comparison to previously retrieved tuples in the sequence by using a sorted table that stores the unique tuple wherein the retrieved tuple may be returned to the consumer process immediately after the retrieved tuple is determined to be unique without sorting the entire set of tuples and indicating whether the retrieved tuple has been previously received by the auxiliary logger component; (c) providing using a distinct operator component the consumer process with the retrieved tuple where the tuple is unique and discarding the tuple where the tuple is not unique; and (d) repeating the above steps until all tuples in the sequence of tuples have been retrieved from the database table, wherein at least one distinct tuple in the sequence of tuples is provided to the consumer process prior to retrieval of all tuples in the sequence of tuples from the database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A relational database management system comprising a source component;
-
an auxiliary logger component, and a distinct operator, the relational database management system supporting the provision of data from a defined table to a consumer process, the consumer process requesting data from the distinct operator component; the distinct operator component for sequentially requesting a set of tuples from the source component upon a request from the consumer process, and for accepting tuples returned from the source component, for sequentially passing the tuples in the set of tuples to the auxiliary logger component for uniqueness verification, and for passing only verified unique tuples to the consumer process, the source component for accessing a tuple, in the set of tuples from the defined table upon request from the distinct operator component and providing the tuple to the distinct operator component, and the auxiliary logger component for sequentially receiving tuples in the set of tuples from the distinct operator component and determining using an auxiliary component if each sequentially received tuple is distinct from other previously returned tuples in the sequence to verify the uniqueness of each sequentially received tuple to the distinct operator component and indicating whether the retrieved tuple has been previously received by the auxiliary component. - View Dependent Claims (10, 11)
-
-
12. A computer readable medium containing program instructions for the retrieval of distinct tuples in a relational database management system, the program instructions for providing a distinct operator component, providing a source component, and
providing an auxiliary logger component, wherein the relational database management system supports the provision of data from a defined table to a consumer process, wherein the consumer process requests data from the distinct operator component, wherein the instruction for the distinct operator component further includes instructions for: -
sequentially requesting a set of tuples from the source component upon a request from the consumer process, and for accepting tuples returned from the source component sequentially passing the tuples in the set of tuples to the auxiliary logger component for uniqueness verification, and passing only verified unique tuples to the consumer process, the source component comprising code means for accessing a tuple in the set of tuples from the defined table upon request from the distinct operator component and providing the tuple to the distinct operator component, and wherein the instructions for the auxiliary logger component further includes instructions for sequentially receiving tuples in the set of tuples from the distinct component and for determining using an auxiliary component if each sequentially received tuple is distinct from other previously returned tuples in the sequence to verify the uniqueness of each sequentially received tuple to the distinct operator component and indicating whether the retrieved tuple has been previously received by the auxiliary component. - View Dependent Claims (13, 14)
-
-
15. A computer readable medium containing program instructions for the retrieval of distinct tuples in a relational database management system, the program instructions for providing a distinct operator component, providing a source component, and
providing an auxiliary logger component, wherein the relational database management system supports the provision of data from a defined table to a consumer process, wherein the consumer process requests data from the distinct operator component, wherein the instruction for the distinct operator component further includes instructions for: -
sequentially requesting a set of tuples from the source component upon a request from the consumer process, sequentially passing one or more tuples in the set of tuples to the auxiliary logger component for uniqueness verification, and passing only verified unique tuples to the consumer process, the source component comprising code means for accessing one or more tuples in the set of tuples from the defined table upon request from the distinct operator component and returning a subset of tuples to the distinct operator component, and wherein the instructions for the auxiliary logger component further including instructions for sequentially receiving a verification set of tuples in the set of tuples from the distinct component and for determining using an auxiliary component if each sequentially received tuple is distinct from other previously returned tuples in the sequence to verify the uniqueness of each sequentially received tuple to the distinct operator component and indicating whether the retrieved tuple has been previously received by the auxiliary component. - View Dependent Claims (16, 17)
-
Specification