Method and system for pipelined database table functions
First Claim
1. A method for pipelining a table function in a database system, comprising:
- a) performing a set up operation when the table function is called, the table function being a user-defined function that produces rows of data and used in selection, iteration, or aggregation database query language statements;
b) fetching a subset of output data from a data producer;
c) sending the subset of the output data to a first consumer of the output data, wherein the first consumer is the table function;
d) repeating steps b) and c) until all the output data has been fetched from the data producer.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and mechanism for pipelined table functions is disclosed. With pipelining, data from a first table function does not have to be materialized into a complete collection before it is consumed by a succeeding table function. Instead, a producer of data creates a stream of data that is immediately utilized by a consumer of that data. Also disclosed is a method and mechanism for parallel processing of table functions, in which the set of work operated upon by a table function is sub-divided into smaller portions that are assigned to a plurality of table function slaves. Also disclosed is an integration between pipelining and parallelized execution for table functions.
-
Citations
43 Claims
-
1. A method for pipelining a table function in a database system, comprising:
-
a) performing a set up operation when the table function is called, the table function being a user-defined function that produces rows of data and used in selection, iteration, or aggregation database query language statements; b) fetching a subset of output data from a data producer; c) sending the subset of the output data to a first consumer of the output data, wherein the first consumer is the table function; d) repeating steps b) and c) until all the output data has been fetched from the data producer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for pipelining table functions, comprising:
-
a) means for performing a set up operation when the table function is called, the table function being a user-defined function that can produce rows of data and used in selection, iteration, or aggregation database query language statements; b) means for fetching a subset of output data from the table function; c) means for sending the subset of the output data to a first consumer of the output data; d) means for repeating steps b) and c) until all the output data has been fetched from the table function. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A computer program product comprising a storageable computer useable storage medium having executable code to execute a process for pipelining table functions, comprising:
-
a) executable code for performing a set up operation when the table function is called, the table function being a user-defined function that can produce rows of data and used in selection, iteration, or aggregation database query language statements; b) executable code for fetching a subset of output data from the table function; c) executable code for sending the subset of the output data to a first consumer of the output data; d) executable code for repeating steps b) and c) until all the output data has been fetched from the table function. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification