Patent US4119429A successfully refreshed from Google Patents.
Patent US6714943B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6714943B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and mechanism for tracking dependencies for referential integrity constrained tables

Assignee: Oracle International Corp
•
Filing: 2001-01-31
•
Granted: 2004-03-30
•
Expires: 2021-01-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and mechanism for dependency tracking in a database system is disclosed. According to an embodiment, dependency tracking for a referentially constrained object is performed by tracking change or commit time values for key ranges as well as change or commit time values at various granularities in the database. The combination of various sets of change or commit values are employed to determine a single value representing all prior transactions or changes that an operation is dependent upon.

Inventors

  • 👤 Amit Ganesh
  • 👤 Jonathan D. Klein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 11:10
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2365; G06F16/2379; G06F16/24; G06F16/245; G06F16/2455; G06F16/24564; G06F16/24565; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934; Y10S707/99941; Y10S707/99942; Y10S707/99944; Y10S707/99945; Y10S707/99948

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 124 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: identifying a foreign key range in a set of foreign key ranges for a child table; maintaining a data structure to hold latest commit time information for said foreign key range; deleting a child row from said child table at a commit time, said child row having a foreign key value within said foreign key range; updating said data structure based upon said commit time; executing a delete operation against a parent row from a parent table, said parent row having a referenced key value within said foreign key range; and determining a dependency value for said delete operation based upon said commit time stored in said data structure.
Claim 2
Dependent Claim 124 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: identifying a foreign key range in a set of foreign key ranges for a child table; maintaining a data structure to hold latest commit time information for said foreign key range; deleting a child row from said child table at a commit time, said child row having a foreign key value within said foreign key range; updating said data structure based upon said commit time; executing a delete operation against a parent row from a parent table, said parent row having a referenced key value within said foreign key range; and determining a dependency value for said delete operation based upon said commit time stored in said data structure.
Claim 3
Dependent Claim 18 words
The process of claim 1 in which said referenced key value is equal to said foreign key value.
Claim 4
Dependent Claim 29 words
The process of claim 1 in which an index exists with respect to said child table and said foreign key range corresponds to a range of index key values.
Claim 5
Dependent Claim 20 words
The process of claim 3 in which said range of index key values is related to an index leaf block.
Claim 6
Dependent Claim 46 words
The process of claim 4 further comprising: splitting said index leaf block into a plurality of index blocks; maintaining a separate data structure for each of said plurality of index blocks, each of said separate data structures having an identical pre-split value from said data structure.
Claim 7
Dependent Claim 86 words
The process of claim 4 further comprising: coalescing a second index leaf block into said index leaf block to form a coalesced index block, said second index block having a second data structure to track commit times deletions from said second index leaf block, said second data structure having a second commit time; and maintaining a single data structure for coalesced index block, said single data structure updated with the larger of either the first or second commit times from the first and second data structures.
Claim 8
Dependent Claim 23 words
The process of claim 4 in which said range of index key values comprises a subset of keys in said index leaf block.
Claim 9
Dependent Claim 23 words
The process of claim 4 in which said range of index key values matches a range of keys in said index leaf block.
Claim 10
Dependent Claim 24 words
The process of claim 1 in which said delete operation is considered dependent upon data operations that commit on or before said commit time.
Claim 11
Dependent Claim 25 words
The process of claim 1 in which said delete operation is considered not to be dependent upon data operations that commit after said commit time.
Claim 12
Dependent Claim 98 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: tracking a first row commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; executing an insert operation against a child row in a child table, said child row having a foreign key value corresponding to said referenced key value; and determining a dependency value for said insert operation based upon said first row commit time for said parent row.
Claim 13
Dependent Claim 98 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: tracking a first row commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; executing an insert operation against a child row in a child table, said child row having a foreign key value corresponding to said referenced key value; and determining a dependency value for said insert operation based upon said first row commit time for said parent row.
Claim 14
Dependent Claim 99 words
The process of claim 11 further comprising: tracking a second row commit time for a second parent row in said parent table, said second row commit time corresponding to a committed operation performed against said second parent row, said second parent row comprising a second referenced key value; executing said insert operation against a second child row in said child table, said second child row having a second foreign key value corresponding to said second referenced key value; and determining said dependency value for said insert operation by determining the later of the first or second row commit times.
Claim 15
Dependent Claim 29 words
The process of claim 11 in which said insert operation is considered dependent upon data operations that commit on or before a commit time derived from said dependency value.
Claim 16
Dependent Claim 30 words
The process of claim 11 in which said insert operation is considered not to be dependent upon data operations that commit after a commit time derived from said dependency value.
Claim 17
Dependent Claim 31 words
The process of claim 11 further comprising: maintaining a data structure to hold latest commit time information for first row commit time information for said parent row in said parent table.
Claim 18
Dependent Claim 16 words
The process of claim 15 in which said data structure is part of said parent row.
Claim 19
Dependent Claim 185 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: tracking a first commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; identifying a foreign key range in a set of foreign key ranges for a child table; tracking a second commit time based upon deletion of a child row from said child table at said second commit time, said child row having a foreign key value within said foreign key range; determining a first dependency value for an insert operation that inserts a new child row having a foreign key value corresponding to said referenced key, said first dependency value based upon said first commit time for said parent row; and determining a second dependency value for a delete operation that deletes an existing parent row from said parent table, said existing parent row having an existing referenced key value within said foreign key range, said second dependency value based upon said second commit time.
Claim 20
Dependent Claim 185 words
A process for tracking dependencies for referential integrity constrained tables in a database system, comprising: tracking a first commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; identifying a foreign key range in a set of foreign key ranges for a child table; tracking a second commit time based upon deletion of a child row from said child table at said second commit time, said child row having a foreign key value within said foreign key range; determining a first dependency value for an insert operation that inserts a new child row having a foreign key value corresponding to said referenced key, said first dependency value based upon said first commit time for said parent row; and determining a second dependency value for a delete operation that deletes an existing parent row from said parent table, said existing parent row having an existing referenced key value within said foreign key range, said second dependency value based upon said second commit time.
Claim 21
Dependent Claim 18 words
The process of claim 17 in which said first and second dependency values indicate dependencies across different transactions.
Claim 22
Dependent Claim 29 words
The process of claim 17 in which an index exists with respect to said child table and said foreign key range corresponds to a range of index key values.
Claim 23
Dependent Claim 20 words
The process of claim 19 in which said range of index key values is related to an index leaf block.
Claim 24
Dependent Claim 38 words
The process of claim 19 further comprising: splitting said index leaf block into a plurality of index blocks, in which each of said plurality of index blocks have an identical pre-split value based upon said second commit time.
Claim 25
Dependent Claim 63 words
The process of claim 19 further comprising: coalescing a second index leaf block into said index leaf block to form a coalesced index block, said second index block corresponding to a third commit time, tracking a single commit time value for said coalesced index block, said single commit time value determined based upon the larger of either the second or third commit times.
Claim 26
Dependent Claim 23 words
The process of claim 19 in which said range of index key values comprises a subset of keys in said index leaf block.
Claim 27
Dependent Claim 23 words
The process of claim 19 in which said range of index key values matches a range of keys in said index leaf block.
Claim 28
Dependent Claim 25 words
The process of claim 17 in which said delete operation is considered dependent upon data operations that commit on or before said second commit time.
Claim 29
Dependent Claim 26 words
The process of claim 17 in which said delete operation is considered not to be dependent upon data operations that commit after said second commit time.
Claim 30
Dependent Claim 25 words
The process of claim 17 in which said insert operation is considered dependent upon data operations that commit on or before said first commit time.
Claim 31
Dependent Claim 26 words
The process of claim 17 in which said insert operation is considered not to be dependent upon data operations that commit after said first commit time.
Claim 32
Dependent Claim 25 words
The process of claim 17 further comprising: maintaining a data structure to hold latest commit time information for said parent row in said parent table.
Claim 33
Dependent Claim 16 words
The process of claim 29 in which said data structure is part of said parent row.
Claim 34
Dependent Claim 23 words
The process of claim 17 further comprising: maintaining a data structure to hold latest delete commit time information for said foreign key range.
Claim 35
Dependent Claim 35 words
The process of claim 31 in which an index is associated with said foreign key and said data structure is part of an index block in said index that corresponds to said foreign key range.
Claim 36
Dependent Claim 151 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: identifying a foreign key range in a set of foreign key ranges for a child table; maintaining a data structure to hold latest commit time information for said foreign key range; deleting a child row from said child table at a commit time, said child row having a foreign key value within said foreign key range; updating said data structure based upon said commit time; executing a delete operation against a parent row from a parent table, said parent row having a referenced key value within said foreign key range; and determining a dependency value for said delete operation based upon said commit time stored in said data structure.
Claim 37
Dependent Claim 151 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: identifying a foreign key range in a set of foreign key ranges for a child table; maintaining a data structure to hold latest commit time information for said foreign key range; deleting a child row from said child table at a commit time, said child row having a foreign key value within said foreign key range; updating said data structure based upon said commit time; executing a delete operation against a parent row from a parent table, said parent row having a referenced key value within said foreign key range; and determining a dependency value for said delete operation based upon said commit time stored in said data structure.
Claim 38
Dependent Claim 125 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: tracking a first row commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; executing an insert operation against a child row in a child table, said child row having a foreign key value corresponding to said referenced key value; and determining a dependency value for said insert operation based upon said first row commit time for said parent row.
Claim 39
Dependent Claim 125 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: tracking a first row commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; executing an insert operation against a child row in a child table, said child row having a foreign key value corresponding to said referenced key value; and determining a dependency value for said insert operation based upon said first row commit time for said parent row.
Claim 40
Dependent Claim 211 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: tracking a first commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; identifying a foreign key range in a set of foreign key ranges for a child table; tracking a second commit time based upon deletion of a child row from said child table at said commit time, said child row having a foreign key value within said foreign key range; determining a first dependency value for an insert operation that inserts a new child row having a foreign key value corresponding to said referenced key, said first dependency value based upon said first commit time for said parent row; and determining a second dependency value for a delete operation that deletes an existing parent row from said parent table, said existing parent row having an existing referenced key value within said foreign key range, said second dependency value based upon said second commit time.
Claim 41
Dependent Claim 211 words
A computer program product that includes a computer-usable medium having a sequence of instructions which, when executed by a processor, causes said processor to execute a process for tracking dependencies for referential integrity constrained tables in a database system, said process comprising: tracking a first commit time for a parent row in a parent table, said first row commit time corresponding to a committed operation performed against said parent row, said parent row comprising a referenced key value; identifying a foreign key range in a set of foreign key ranges for a child table; tracking a second commit time based upon deletion of a child row from said child table at said commit time, said child row having a foreign key value within said foreign key range; determining a first dependency value for an insert operation that inserts a new child row having a foreign key value corresponding to said referenced key, said first dependency value based upon said first commit time for said parent row; and determining a second dependency value for a delete operation that deletes an existing parent row from said parent table, said existing parent row having an existing referenced key value within said foreign key range, said second dependency value based upon said second commit time.
Claim 42
Dependent Claim 45 words
The computer program product of claim 33 in which an index exists with respect to said child table and said foreign key range corresponds to a range of index key values, wherein said range of index key values is related to an index leaf block.
Claim 43
Dependent Claim 53 words
The computer program product of claim 36 , wherein said process further comprises: splitting said index leaf block into a plurality of index blocks; and maintaining a separate data structure for each of said plurality of index blocks, each of said separate data structures having an identical pre-split value from said data structure.
Claim 44
Dependent Claim 92 words
The computer program product of claim 36 , wherein said process further comprises: coalescing a second index leaf block into said index leaf block to form a coalesced index block, said second index block having a second data structure to tack commit times deletions from said second index leaf block, said second data structure having a second commit time; and maintaining a single data structure for coalesced index block said single data structure updated with the larger of either the first or second commit times from the first and second data structures.
Claim 45
Dependent Claim 105 words
The computer program product of claim 34 , wherein the process further comprises: tracking a second row commit time for a second parent row in said parent table, said second row commit time corresponding to a committed operation performed against said second parent row, said second parent row comprising a second referenced key value; executing said insert operation against a second child row in said child table, said second child row having a second foreign key value corresponding to said second referenced key value; and determining said dependency value for said insert operation by determining the later of the first or second row commit times.
Claim 46
Dependent Claim 36 words
The computer program product of claim 34 , wherein the process further comprises: maintaining a data structure to hold latest commit time information for first commit time information for said parent row in said parent table.
Claim 47
Dependent Claim 20 words
The computer program product of claim 35 in which said first and second dependency values indicate dependencies across different transactions.
Claim 48
Dependent Claim 45 words
The computer program product of claim 35 in which an index exists with respect to said child table and said foreign key range corresponds to a range of index key values, wherein said range of index key values is related to an index leaf block.
Claim 49
Dependent Claim 44 words
The computer program product of claim 42 , wherein the process further comprises: splitting said index leaf block into a plurality of index blocks, in which each of said plurality of index blocks have an identical pre-split value based upon said second commit time.
Claim 50
Dependent Claim 70 words
The computer program product of claim 42 , wherein the process further comprises: coalescing a second index leaf block into said index leaf block to form a coalesced index block, said second index block corresponding to a third commit time; and tracking a single commit time value for said coalesced index block, said single commit time value determined based upon the larger of either the second or third commit times.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-03-30 2007-09-29 2008-03-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-03-30 2011-09-29 2012-03-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-03-30 2015-09-29 2016-03-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag