Claims
- 1. A method for evaluating a set of rules, the method including the steps of:
before all values of a set of values that are needed to evaluate all rules in said set of rules are available, making a determination of whether said set of rules necessarily evaluate to a particular result; if said set of rules necessarily evaluate to a particular result, then foregoing operations for generating more values of said set of values; and if said set of rules do not necessarily evaluate to a particular result, then evaluating said set of rules when more values of said set of values are available.
- 2. The method of claim 1, further including in response to making said determination, storing in a cache a value that indicates a result of evaluating the set of rules based on a subset of values that includes less than all values of the set of values.
- 3. The method of claim 2, wherein the step of storing includes storing the value that indicates a result in association with the subset of values.
- 4. The method of claim 3, wherein the value that indicates a result indicates that the set of rules does not necessarily evaluate to a particular result based on the subset of values.
- 5. The method of claim 3, wherein the step of storing the value that indicates a result in association with the subset of values includes:
generating a hash value based on the subset of values; and storing the value that indicates a result in a hash table entry associated with said hash value.
- 6. The method of claim 2,
determining that the value that indicates a result of evaluating the rules based on a subset of values is stored in the cache; and foregoing the step of making a determination in response to determining that the value that indicates a result of evaluating the rules based on a subset of values is stored in the cache.
- 7. The method of claim 1, wherein the steps further include if said set of rules necessarily evaluate to a first result, then evaluating said set of rules when more values of said set of values are available.
- 8. The method of claim 1, wherein said set of values includes first one or more values reflecting a change to a column of a table stored at a database server.
- 9. The method of claim 8,
wherein the set of values includes second one or more values read from record of a redo log reflecting a change to a row in a table stored at a database server; the step of making a determination of whether said set of rules necessarily evaluate to a particular result is based on a subset of said of values that:
does not include the first one or more values reflecting a change to a column of a table, and include at least one value of the second one or more values.
- 10. The method of claim 9, wherein the step of foregoing operations for generating more values of said set of values includes foregoing generating a data structure that includes said first one or more values.
- 11. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
- 12. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
- 13. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
- 14. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
- 15. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
- 16. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
- 17. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
- 18. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
- 19. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
- 20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
RELATED APPLICATIONS
[0001] This application claims priority to the following applications: this application claims priority to U.S. Provisional Application No. 60/400,532, entitled Utilizing Rules in Distributed Information Sharing, filed on Aug. 1, 2002 by Edwina Lu, et al., the contents of which are incorporated herein by reference; this application claims priority to U.S. Provisional Application No. 60/410,883, entitled Oracle Streams, filed on Sep. 13, 2002 by Alan Downing, et al., the contents of which are incorporated herein by reference; this application is a continuation-in-part and claims priority to U.S. application Ser. No. 10/308,924, entitled Asynchronous Information Sharing System, filed on Dec. 2, 2002 by Benny Souder, et al., the contents of which are incorporated herein by reference; this application is a continuation-in-part of U.S. application Ser. No. 10/418,882, entitled Extensible Rules Engine in a Database Management System, filed on Apr. 17, 2003 by Sanjay Kaluskar, et al., the contents of which are incorporated herein by reference.
[0002] The present application is related to U.S. patent application Ser. No. 10/424,852, entitled On Demand Multi-version De-normalized Data Dictionary to Support Distributed Log-based Applications, filed on Apr. 29, 2003 by Lik Wong, et al., the contents of which are herein incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10308924 |
Dec 2002 |
US |
Child |
10452850 |
May 2003 |
US |
Parent |
10418882 |
Apr 2003 |
US |
Child |
10452850 |
May 2003 |
US |