Method and mechanism for determining life intervals for a key in an index
First Claim
Patent Images
1. A method for determining one or more life intervals for a key in a database system, comprising:
- (a) receiving a key for which it is desired to determine one or more life intervals;
(b) walking an index structure to identify a location where the key exists or should exist;
(c) reviewing past versions of the location associated with the key;
(d) determining if a structural change has occurred to the location, and if so, accessing as of a time prior to the structural change; and
(e) determining the one or more life intervals for the key based upon analysis of type of operation detected against the key and whether the key existed prior to the operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a mechanism, system, interface, and process to determine one or more life intervals when given a key. In addition, one or more life intervals can be determined for each key within a range of keys. This type of process is useful for auditing purposes or if it is desire to implement a query upon past versions when a key or range of keys is specified for the data for which past versions is desired. This facilitates algorithms, mechanisms, and processes to implement a query upon past versions.
-
Citations
48 Claims
-
1. A method for determining one or more life intervals for a key in a database system, comprising:
-
(a) receiving a key for which it is desired to determine one or more life intervals;
(b) walking an index structure to identify a location where the key exists or should exist;
(c) reviewing past versions of the location associated with the key;
(d) determining if a structural change has occurred to the location, and if so, accessing as of a time prior to the structural change; and
(e) determining the one or more life intervals for the key based upon analysis of type of operation detected against the key and whether the key existed prior to the operation. - View Dependent Claims (4, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
2. (canceled)
-
3. (canceled)
-
5. (canceled)
-
10. (canceled)
-
28. A method for determining one or more life intervals for a range of keys in a database system, comprising:
-
(a) receiving a range of keys for which it is desired to determine one or more life intervals;
(b) determining if a working range should be split;
(c) splitting the working range if required, making a first portion of the working range into the new working range and placing a second portion of the working range on hold for later processing;
(d) if the working range is not split, then processing the working range to determine one or more life intervals for keys within the working range; and
(e) after the working range has been processed, taking a range portion from hold and making it the new working range and continuing to process from (b). - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 40, 42)
-
-
37. (canceled)
-
38. (canceled)
-
39. (canceled)
-
41. (canceled)
-
43. (canceled)
-
44. (canceled)
-
45. A computer program product comprising a computer usable medium having executable code to execute a process for determining one or more life intervals for a range of keys in a database system, the process comprising:
-
(a) receiving a range of keys for which it is desired to determine one or more life intervals;
(b) determining if a working range should be split;
(c) splitting the working range if required, making a first portion of the working range into the new working range and placing a second portion of the working range on hold for later processing;
(d) if the working range is not split, then processing the working range to determine one or more life intervals for keys within the working range; and
(e) after the working range has been processed, taking a range portion from hold and making it the new working range and continuing to process from (b).
-
-
46. A system for determining one or more life intervals for a range of keys in a database system, comprising:
-
(a) logic for receiving a range of keys for which it is desired to determine one or more life intervals;
(b) logic for determining if a working range should be split;
(c) logic for splitting the working range if required, making a first portion of the working range into the new working range and placing a second portion of the working range on hold for later processing;
(d) logic for processing the working range to determine one or more life intervals for keys within the working range if the working range is not split; and
(e) logic for, after the working range has been processed, taking a range portion from hold and making it the new working range and continuing to process from (b).
-
-
47. A computer program product comprising a computer usable medium having executable code to execute a process for determining one or more life intervals for a key in a database system, the process comprising:
-
(a) receiving a key for which it is desired to determine one or more life intervals;
(b) walking an index structure to identify a location where the key exists or should exist;
(c) reviewing past versions of the location associated with the key;
(d) determining if a structural change has occurred to the location, and if so, accessing as of a time prior to the structural change; and
(e) determining the one or more life intervals for the key based upon analysis of type of operation detected against the key and whether the key existed prior to the operation.
-
-
48. A system for determining one or more life intervals for a key in a database system, comprising:
-
(a) logic for receiving a key for which it is desired to determine one or more life intervals;
(b) logic for walking an index structure to identify a location where the key exists or should exist;
(c) logic for reviewing past versions of the location associated with the key;
(d) logic for determining if a structural change has occurred to the location, and if so, accessing as of a time prior to the structural change; and
(e) logic for determining the one or more life intervals for the key based upon analysis of type of operation detected against the key and whether the key existed prior to the operation.
-
Specification