Claims
- 1. A method used for executing queries, the method comprising the steps of:
storing first data that indicates one or more conditions under which output of a function remains constant; in response to receiving a query:
computing a value of the function, and based on said first data, determining whether to store the value in a cache; in response to determining to store the value in the cache, storing in the cache the value in association with the function; after performing the step of storing, receiving a second query, wherein processing the second query requires the output of the function; and in response to receiving said second query, determining based on said first data whether to retrieve said value from said cache as the output of said function; and in response to determining to retrieve said value from said cache, retrieving said value from said cache.
- 2. The method of claim 1, wherein:
the one or more conditions include that the second query access a particular database object; and the step of storing in the cache includes storing the value in association with the database object.
- 3. The method of claim 1, wherein the one or more conditions include that processing the second query requires the value of said function.
- 4. The method of claim 1, wherein:
the first query is associated with the session; the one or more conditions include that the second query is associated with the session; and the step of storing in the cache includes storing the value in association with the session.
- 5. The method of claim 4, wherein:
the one or more conditions include that the second query access a particular database object; and the step of storing in the cache includes storing the value in association with the particular database object.
- 6. The method of claim 4, wherein the step of storing the value in association with the session includes storing the value in memory to which access by a process is restricted based on a particular session associated with the process.
- 7. The method of claim 1, wherein:
the method includes receiving user input that specifies the one or more conditions; and said first data is generated in response to receiving said user input.
- 8. The method of claim 7, wherein said user input identifies a policy function type.
- 9. The method of claim 1, wherein said value is a string representing a predicate.
- 10. 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.
- 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 2.
- 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 3.
- 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 4.
- 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 5.
- 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 6.
- 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 7.
- 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 8.
- 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 9.
- 19. A method used for executing queries, the method comprising the steps of:
means for storing first data that indicates one or more conditions under which output of a function remains constant; means for, in response to receiving a query:
computing a value of the function, and based on said first data, determining whether to store the value in a cache; in response to determining to store the value in the cache, storing in the cache the value in association with the function; after the step of storing, receiving a second query, wherein processing the second query requires the output of the function; and means for determining, in response to receiving said second query and based on said first data, whether to retrieve said value from said cache as the output of said function; and in response to determining to retrieve said value from said cache, retrieving said value from said cache.
- 20. The method of claim 19, wherein:
the method includes receiving user input that specifies the one or more conditions; and said first data is generated in response to receiving said user input.
RELATED APPLICATION
[0001] The present application claims priority to the following previously filed applications: the present application is a continuation-in-part of U.S. application Ser. No. 10/247,323, filed Sep. 18, 2002, entitled Database Fine-Grained Access Control, and naming as inventors Chon Hei Lei and Douglas James McMahon, the entire disclosure of which is hereby incorporated herein by reference, which is a continuation-in-part of U.S. application Ser. No. 09/167,092, filed Oct. 5, 1998, entitled Database Fine-Grained Access Control, and naming as inventors Chon Hei Lei and Douglas James McMahon, the entire disclosure of which is hereby incorporated herein by reference; the present application is a continuation-in-part of U.S. application Ser. No. 09/589,602, filed Jun. 7, 2000, entitled Partitioned Access Control To A Database, and naming as inventors Daniel ManHung Wong, Chon Hei Lei, the entire disclosure of which is hereby incorporated herein by reference, which is a continuation-in-part of U.S. application Ser. No. 09/872,896, filed May 31, 2001, entitled Virtually Partitioning User Data In A Database System, and naming as inventors Christine Pae Guthrie, Jesper Andersen, Chon Hei Lei and Douglas James McMahon, the entire disclosure of which is hereby incorporated herein by reference.
[0002] This application is related to U.S. application Ser. No. 10/377,366, filed Feb. 27, 2003, entitled Enforcing Data Privacy Aggregations, and naming as inventors Daniel ManHung Wong, Chon Hei Lei and Rama Vissapragada, the entire disclosure of which is hereby incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09167092 |
Oct 1998 |
US |
Child |
10247323 |
Sep 2002 |
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
10247323 |
Sep 2002 |
US |
Child |
10431972 |
May 2003 |
US |
Parent |
09589602 |
Jun 2000 |
US |
Child |
10431972 |
May 2003 |
US |
Parent |
09872896 |
May 2001 |
US |
Child |
10431972 |
May 2003 |
US |