Method, system, and program for predicate processing by iterator functions
First Claim
1. A method for processing predicates in an iterator function, comprising:
- under control of an iterator function processor that executes as part of a data store engine, when an iterator function included in a statement is invoked,obtaining one or more predicates included in the statement;
applying the one or more predicates to a row of data;
if applying the one or more predicates results in a match, returning the row of data; and
if applying the one or more predicates does not result in a match, searching for another row of data for which application of the one or more predicates results in a match.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a technique for processing predicates in an iterator function. When an iterator function included in a statement is invoked, one or more predicates included in the statement are obtained. The one or more predicates are applied to a row of data. If applying the one or more predicates results in a match, the row of data is returned. If applying the one or more predicates does not result in a match, a search is performed for another row of data for which application of the one or more predicates results in a match. Also disclosed is a technique for processing predicates in which a statement including an iterator function and one or more predicates is received. A qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates is created. Then, the iterator function is invoked one or more times, until receiving a done indicator from the iterator function.
-
Citations
39 Claims
-
1. A method for processing predicates in an iterator function, comprising:
under control of an iterator function processor that executes as part of a data store engine, when an iterator function included in a statement is invoked, obtaining one or more predicates included in the statement; applying the one or more predicates to a row of data; if applying the one or more predicates results in a match, returning the row of data; and if applying the one or more predicates does not result in a match, searching for another row of data for which application of the one or more predicates results in a match. - View Dependent Claims (2, 3, 4, 5)
-
6. A method for processing predicates, comprising:
under control of a data store engine, receiving a statement including an iterator function and one or more predicates; creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and invoking the iterator function one or more times, until receiving a done indicator from the iterator function, wherein each invocation of the iterator function results in receiving either a row of data for which at least one predicate has been applied or the done indicator and wherein one or more of the predicates included in the statement that have not been applied by the iterator function are applied by the data store engine. - View Dependent Claims (7, 8, 9, 10, 11)
-
12. A method for processing predicates, comprising:
-
under control of a data store engine, receiving a statement including an iterator function and one or more predicates; creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and invoking the iterator function; under control of an iterator function processor, retrieving the qualification descriptor; obtaining a row of data that matches at least one of the one or more predicates in the qualification descriptor; setting indicators to indicate which of the one or more predicates have been applied by the iterator function processor; and returning the row of data to the data store engine; and under control of the data store engine, applying any of the one or more of the predicates included in the statement that have not been applied by the iterator function processor. - View Dependent Claims (13)
-
-
14. An article of manufacture including a program for processing predicates in an iterator function, wherein the program causes operations to be performed, the operations comprising:
under control of an iterator function processor that executes as part of a data store engine, when an iterator function included in a statement is invoked, obtaining one or more predicates included in the statement; applying the one or more predicates to a row of data; if applying the one or more predicates results in a match, returning the row of data; and if applying the one or more predicates does not result in a match, searching for another row of data for which application of the one or more predicates results in a match. - View Dependent Claims (15, 16, 17, 18)
-
19. An article of manufacture including a program for processing predicates, wherein the program causes operations to be performed, the operations comprising:
under control of a data store engine, receiving a statement including an iterator function and one or more predicates; creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and invoking the iterator function one or more times, until receiving a done indicator from the iterator function, wherein each invocation of the iterator function results in receiving either a row of data for which at least one predicate has been applied or the done indicator and wherein one or more of the predicates included in the statement that have not been applied by the iterator function are applied by the data store engine. - View Dependent Claims (20, 21, 22, 23, 24)
-
25. An article of manufacture including a program for processing predicates, wherein the program causes operations to be performed, the operations comprising:
-
under control of a data store engine, receiving a statement including an iterator function and one or more predicates; creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and invoking the iterator function; and under control of an iterator function processor, retrieving the qualification descriptor; obtaining a row of data that matches at least one of the one or more predicates in the qualification descriptor; and setting indicators to indicate which of the one or more predicates have been applied by the iterator function processor; and returning the row of data to the data store engine; and under control of the data store engine, applying any of the one or more of the predicates included in the statement that have not been applied by the iterator function processor. - View Dependent Claims (26)
-
-
27. A computer system having at least one program for processing predicates in an iterator function, comprising:
under control of an iterator function processor that executes as part of a data store engine, when an iterator function included in a statement is invoked, obtaining one or more predicates included in the statement; applying the one or more predicates to a row of data; if applying the one or more predicates results in a match, returning the row of data; and if applying the one or more predicates does not result in a match, searching for another row of data for which application of the one or more predicates results in a match. - View Dependent Claims (28, 29, 30, 31)
-
32. A computer system having at least one program for processing predicates, comprising:
under control of a data store engine, receiving a statement including an iterator function and one or more predicates; creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and invoking the iterator function one or more times, until receiving a done indicator from the iterator function, wherein each invocation of the iterator function results in receiving either a row of data for which at least one predicate has been applied or the done indicator and wherein one or more of the predicates included in the statement that have not been applied by the iterator function are applied by the data store engine. - View Dependent Claims (33, 34, 35, 36, 37)
-
38. A computer system for processing predicates, comprising:
-
under control of a data store engine, means for receiving a statement including an iterator function and one or more predicates; means for creating a qualification descriptor that describes the one or more predicates and one or more functions that are to be used to evaluate the one or more predicates; and means for invoking the iterator function; and under control of an iterator function processor, means for retrieving the qualification descriptor; means for obtaining a row of data that matches at least one of the one or more predicates in the qualification descriptor; means for setting indicators to indicate which of the one or more predicates have been applied by the iterator function processor; and means for returning the row of data to the data store engine; and under control of the data store engine, means for applying any of the one or more of the predicates included in the statement that have not been applied by the iterator function processor. - View Dependent Claims (39)
-
Specification