Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
210 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a method for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising the steps of: selecting the plurality of records using a range scan; traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); storing cursor information representing the location of said current key in a cursor data structure; performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said current key; and if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key, using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure.
Claim 2
Dependent Claim
210 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a method for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising the steps of: selecting the plurality of records using a range scan; traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); storing cursor information representing the location of said current key in a cursor data structure; performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said current key; and if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key, using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure.
Claim 3
Dependent Claim
75 words
A method as recited in claim 1, further comprising the steps of: determining whether said current key's tree position has been affected by a concurrent operation following updating of said current key; and if said current key's tree position has not been affected by another concurrent operation following updating of said current key, using said cursor information to locate a next one (next key) of said sequence of record keys corresponding to a next record.
Claim 4
Dependent Claim
29 words
A method as recited in claim 2 wherein said cursor data structure includes fields for determining whether said current key's tree position has been affected by a concurrent operation.
Claim 5
Dependent Claim
69 words
A method as recited in claim 3 wherein said current key is located on a page representing a leaf node of said index tree structure and wherein said fields for determining whether said current key's tree position has been affected by a concurrent operation include a field representing a page number on which said current key is located and a field representing a log sequence number of said page.
Claim 6
Dependent Claim
45 words
A method as recited in claim 4 wherein said step of determining whether said current key's tree position has been affected by a concurrent operation following retrieval or update of said current key includes determining whether changes have occurred to said page's log sequence number.
Claim 7
Dependent Claim
30 words
A method as recited in claim 5 wherein said cursor information is used to update said current key if the page number corresponding to said current key has not changed.
Claim 8
Dependent Claim
50 words
A method as recited in claim 2 wherein said cursor data structure further includes a field for determining whether said current key was updated in order to help locate said next key when said current key has not been affected by a concurrent operation following updating of said current key.
Claim 9
Dependent Claim
99 words
A method as recited in claim 1, further comprising the step of, upon locating said current key, determining whether additional operational predicates exist and, if true, asserting a nonexclusive lock on said current record, if record locking is being performed by said database management system, or on said current key, if index-specific locking is being performed by said database management system, and, if false, asserting an exclusive lock on said current record, if record locking is being performed by said database management system, or on said current key, if index-specific locking is being performed by said database management system.
Claim 10
Dependent Claim
54 words
A method as recited in claim 8, wherein said record operation is a record delete or update operation and said current key is updated by deleting said key, and further wherein said step of locking said current record or said current key includes the step of locking said next record or next key, respectively.
Claim 11
Dependent Claim
33 words
A method as recited in claim 8 wherein said cursor data structure includes a field for determining the status of the lock on said current key or the lock on said current record.
Claim 12
Dependent Claim
218 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a system for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising: means for selecting the plurality of records using a range scan; means for traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); means for storing cursor information representing the location of said current key in a cursor data structure; means for performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; means for determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said key; and means for using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure, if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key.
Claim 13
Dependent Claim
218 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a system for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising: means for selecting the plurality of records using a range scan; means for traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); means for storing cursor information representing the location of said current key in a cursor data structure; means for performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; means for determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said key; and means for using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure, if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key.
Claim 14
Dependent Claim
75 words
A system as recited in claim 11, further comprising: means for determining whether said current key's tree position has been affected by concurrent operation following updating of said current key; and means for using said cursor information to locate a next one (next key) of said sequence of record keys corresponding to a next record, if said current key's tree position has not been affected by a concurrent operation following updating of said current key.
Claim 15
Dependent Claim
29 words
A system as recited in claim 12 wherein said cursor data structure includes fields for determining whether said current key's tree position has been affected by a concurrent operation.
Claim 16
Dependent Claim
69 words
A system as recited in claim 13 wherein said current key is located on a page representing a leaf node of said index tree structure and wherein said fields for determining whether said current key's tree position has been affected by a concurrent operation include a field representing a page number on which said current key is located and a field representing a log sequence number of said page.
Claim 17
Dependent Claim
47 words
A system as recited in claim 14 wherein said means for determining whether said current key's tree position has been affected by a concurrent operation following retrieval or update of said current key includes means for determining whether changes have occurred to said page's log sequence number.
Claim 18
Dependent Claim
30 words
A system as recited in claim 15 wherein said cursor information is used to update said current key if the page number corresponding to said current key has not changed.
Claim 19
Dependent Claim
50 words
A system as recited in claim 12 wherein said cursor data structure further includes a field for determining whether said current key was updated in order to help locate said next key when said current key has not been affected by a concurrent operation following updating of said current key.
Claim 20
Dependent Claim
98 words
A system as recited in claim 11, further comprising means for determining, upon locating said current key, whether additional operational predicates exist and, if true, asserting a nonexclusive lock on said current record, if record locking is being performed by said database management system or on said current key, if index-specific locking is being performed by said database management system, and, if false, asserting an exclusive lock on said current record, if record locking is being performed by said database management system, or on said current key, if index-specific locking is being performed by said database management system.
Claim 21
Dependent Claim
53 words
A system as recited in claim 18, wherein said record operation is a record delete or update operation and said current key is updated by deleting said key, and further wherein said means for locking said current record or said current key includes means for locking said next record or next key, respectively.
Claim 22
Dependent Claim
33 words
A system as recited in claim 18 wherein said cursor data structure includes a field for determining the status of the lock on said current key or the lock on said current record.
Claim 23
Dependent Claim
260 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a computer program product for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising: a data storage medium; means recorded on said data storage medium for selecting the plurality of records using a range scan; means recorded on said data storage medium for traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); means recorded on said data storage medium for storing cursor information representing the location of said current key in a cursor data structure; means recorded on said data storage medium for performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; means recorded on said data storage medium for determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said key; and means recorded on said data storage medium for using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure, if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key.
Claim 24
Dependent Claim
260 words
For use with a data base management system in which a cursor is used for specifying one of a plurality of records in a data structure within a data base, a computer program product for performing an operation on the plurality of records within the data structure, the records having related locations searchable in an index file configured as a tree structure and containing a sequence of record keys, comprising: a data storage medium; means recorded on said data storage medium for selecting the plurality of records using a range scan; means recorded on said data storage medium for traversing the tree structure to retrieve a first one of said sequence of record keys (hereinafter referred to as the "current key"); means recorded on said data storage medium for storing cursor information representing the location of said current key in a cursor data structure; means recorded on said data storage medium for performing an operation (hereinafter referred to as the "record operation") on a record (hereinafter referred to as the "current record") corresponding to said current key; means recorded on said data storage medium for determining whether said current key's tree position has been affected by a concurrent operation following retrieval of said key; and means recorded on said data storage medium for using said cursor information in said cursor data structure to locate and update said current key to reflect said record operation without retraversing the tree structure, if determined that said current key's tree position has not been affected by a concurrent operation following retrieval of said key.
Claim 25
Dependent Claim
90 words
A computer program product as recited in claim 21, further comprising: means recorded on said data storage medium for determining whether said current key's tree position has been affected by a concurrent operation following updating of said current key; and means recorded on said data storage medium for using said cursor information to locate a next one (next key) of said sequence of record keys corresponding to a next record, if said current key's tree position has not been affected by a concurrent operation following updating of said current key.
Claim 26
Dependent Claim
31 words
A computer program product as recited in claim 22 wherein said cursor storage structure includes fields for determining whether said current key's tree position has been affected by a concurrent operation.
Claim 27
Dependent Claim
71 words
A computer program product as recited in claim 23 wherein said current key is located on a page representing a leaf node of said index tree structure and wherein said fields for determining whether said current key's tree position has been affected by a concurrent operation include a field representing a page number on which said current key is located, and a field representing a log sequence number of said page.
Claim 28
Dependent Claim
55 words
A computer program product as recited in claim 24 wherein said means for determining whether said current key's page position has been affected by a concurrent operation following retrieval or update of said current key includes means recorded on said data storage medium for determining whether changes have occurred to said page's log sequence number.
Claim 29
Dependent Claim
32 words
A computer program product as recited in claim 25 wherein said cursor information is used to update said current key if the page number corresponding to said current key has not changed.
Claim 30
Dependent Claim
52 words
A computer program product as recited in claim 22 wherein said cursor data structure further includes a field for determining whether said current key was updated in order to help locate said next key when said current key has not been affected by a concurrent operation following updating of said current key.
Claim 31
Dependent Claim
106 words
A computer program product as recited in claim 21, further comprising means recorded on said data storage medium for determining, upon locating said current key, whether additional operational predicates exist and, if true, asserting a nonexclusive lock on said current record, if record locking is being performed by said database management system, or on said current key, if index-specific locking is being performed by said database management system, and, if false, asserting an exclusive lock on said current record, if record locking is being performed by said database management system, or on said current key, if index-specific locking is being performed by said database management system.
Claim 32
Dependent Claim
59 words
A computer program product as recited in claim 28, wherein said record operation is delete or update operation and said current key is updated by deleting said key, and further wherein said means for locking said current record or said current key includes means recorded on said data storage medium for locking said next record or next key, respectively.
Claim 33
Dependent Claim
35 words
A computer program product as recited in claim 28 wherein said cursor data structure includes a field for determining the status of the lock on said current key or the lock on said current record.