Transaction control block for multiversion concurrency commit status
US-10409864-B2 · Sep 10, 2019 · US
US11416470B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11416470-B2 |
| Application number | US-201916426052-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 30, 2019 |
| Priority date | Nov 4, 2016 |
| Publication date | Aug 16, 2022 |
| Grant date | Aug 16, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method of managing digital data for a plurality of tenants to software instances, wherein each of the instances is implemented on at least one of a plurality of instance nodes of a server system in communication with each other, and wherein the managing includes managing multiversion concurrency control of different instances of the digital data which may be stored in one or more storage device locations communicatively coupled to the server system as records, each of which is identified by a key that includes identification of one or more rows in a table of a database, the method comprising: performing, at the server system, a key lookup in the table of the database based on a received query; when the key lookup encounters an uncommitted row, accessing, at the one or more storage device locations communicatively coupled to the server system, a corresponding transaction header identifying data to identify a data array element to determine whether a transaction number is committed, and determine its corresponding transaction counter number; and stamping, at the server system, a transaction counter number on the row version record. 2. The method of claim 1 , wherein the accessing the corresponding transaction header comprises: identifying the data array element using a transaction header index field on the row version record and a row lock record. 3. The method of claim 1 , further comprising: for each row affected by a transaction having the transaction identifier, stamping each row affected by the transaction with a transaction counter number, and releasing any row locks. 4. The method of claim 1 , further comprising: performing a row lookup when one or more row lookup records are uncommitted, such that the one or more row lookup records are uncommitted when they are not stamped with the transaction counter number. 5. The method of claim 4 , further comprising: independently processing the one or more uncommitted row lookup records while the one or more uncommitted records are not externally recognizable to queries. 6. A computer-implemented method of managing digital data for a plurality of tenants to software instances, wherein each of the instances is implemented on at least one of a plurality of instance nodes of a server system in communication with each other, wherein the managing includes managing multiversion concurrency control of different instances of the digital data which may be stored in one or more storage device locations communicatively coupled to the server system as records, each of which is identified by a key that includes identification of one or more rows in a table of a database, and wherein a transaction is recognizable to one or more queries, the method comprising: searching, at the server system, a key's row version chain of records to determine a newest recognizable row version record based on a snapshot transaction counter number, the key's self identifier number, and a command identification statement, the searching comprising: determining, at the server system, whether a row of the row version chain of records is uncommitted; when the row is uncommitted, reading, at the server system, a transaction counter number value from the transaction header identifying information; and when the transaction counter number is valid by having a row transaction counter that is the same as the transaction counter number, stamping, at the server system, the transaction counter number on the current row version record and marking the current row version record as committed. 7. The method of claim 6 , further comprising: determining whether the row version record is recognizable to a multiversion concurrency control (MVCC); and stopping the search when the row version record is recognizable to the MVCC. 8. The method of claim 6 , further comprising: determining whether the row version record is recognizable to a multiversion concurrency control (MVCC); and advancing to the next row version record when one exists or stopping the search. 9. A server system to manage digital data for a plurality of tenants to software instances, wherein each of the instances is implemented on at least one of a plurality of instance nodes of the server system in communication with each other, and wherein the managing includes managing multiversion concurrency control of different instances of the digital data which may be stored in one or more storage device locations communicatively coupled to the server system as records, each or which is identified by a key that includes identification of one or more rows in a table of a database, comprising: the server system to: perform a key lookup in the table of the database based on a received query; when the key lookup encounters an uncommitted row, the server system accesses, at the one or more storage device locations communicatively coupled to the server system, a corresponding transaction header identifying data to identify a data array element in the one or more storage device locations to determine whether a transaction number is committed, and determine its corresponding transaction counter number; and stamp the transaction counter number on the row version record in the one or more storage device locations. 10. The system of claim 9 , wherein the server system accesses the corresponding transaction header in the one or more storage device locations by identifying the data array element using a transaction header index field on the row version record and a row lock record. 11. The system of claim 9 , wherein the server system stamps each row affected by the transaction with the transaction counter number and releases any row locks for each row affected by a transaction having the transaction identifier in the one or more storage device locations. 12. The system of claim 9 , wherein the server system performs a row lookup in the one or more storage device locations when one or more row lookup records are uncommitted, such that the one or more row lookup records are uncommitted when they are not stamped with the transaction counter number. 13. The system of claim 12 , wherein the server system independently processes the one or more uncommitted row lookup records of the one or more storage device locations while the one or more uncommitted records are not externally recognizable to queries. 14. A server system to manage digital data for a plurality of tenants to software instances, wherein each of the instances is implemented on at least one of a plurality of instance nodes of the server system in communication with each other, wherein the managing includes managing multiversion concurrency control of different instances of the digital data which may be stored in one or more storage device locations that are communicatively coupled to the server system as records identified by a key that includes identification of one or more rows in a table of a database, and wherein a transaction is recognizable to one or more queries, comprising: the server system to: search a key's row version chain of records in the one or more storage device locations to determine a newest recognizable row version record based on a snapshot transaction counter number, the key's self identifier number, and a command identification statement, wherein the server system: determines whether a row of the row version chain of records is uncommitted; read a transaction counter number value from the transaction header identifying information when the row is uncommitted; and stamp the transaction counter number on the current row version record and marking the c
using versioning · CPC title
Locking methods, e.g. distributed locking or locking implementation details · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.