Transaction control block for multiversion concurrency commit status

US10409864B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10409864-B2
Application numberUS-201414552808-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateSep 10, 2019
Grant dateSep 10, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein are system, method, and computer program product embodiments for utilizing a transaction control block for providing reader-writer access to transaction commit status. An embodiment operates by receiving a row read request and determining that the row is versioned. The system determines that a first timestamp information for a row destroy transaction associated with the row exists in a transaction control block and retrieves the first timestamp information from the transaction control block.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for reading versioned data in a database, comprising: receiving, by at least one processor, a read request for a row in the database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determining, by the at least one processor, that the row is versioned; determining, by the at least one processor, that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determining, by the at least one processor, that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and providing, by the at least one processor, a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 2. The method of claim 1 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at a time of the consistent view timestamp. 3. The method of claim 1 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 4. The method of claim 1 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 5. The method of claim 4 , further comprising: deriving commit information from the transaction control block; and storing the derived commit information into a version information structure associated with a plurality of rows associated with at least one of the set of operations. 6. The method of claim 4 , wherein the providing further comprises providing the version of the row based on the transaction state indicator. 7. The method of claim 1 , wherein the transaction control block is updated in response to the atomic database transaction being committed. 8. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: receive a read request for a row in a database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determine that the row is versioned; determine that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determine that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and provide a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 9. The system of claim 8 , wherein to provide the at least one processor is configured to provide the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at the consistent view timestamp. 10. The system of claim 8 , wherein to provide the at least one processor is configured to providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 11. The system of claim 8 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 12. The system of claim 11 , the at least one processor further configured to: derive commit information from the transaction control block; and store the derived commit information into a version information structure associated with a plurality of rows associated with at least one of the set of operations. 13. The system of claim 11 , wherein to provide the at least one processor is configured to provide the version of the row based on the transaction state indicator. 14. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: receiving a read request for a row in a database, wherein the row is linked to a particular transaction control block data structure that stores commit information for only a corresponding single atomic database transaction comprising a set of operations associated with the row that are committed together; determining that the row is versioned; determining that a first timestamp information for a row destroy operation associated with the row exists in the transaction control block; determining that a second timestamp information for a row create operation associated with the row exists in the transaction control block; and providing a version of the row based on comparing a consistent view timestamp with the first timestamp information or the second timestamp information, wherein the consistent view timestamp represents a time of a database snapshot corresponding to the read request. 15. The computer-readable device of claim 14 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the first timestamp information indicate the row destroy operation had not committed at the consistent view timestamp. 16. The computer-readable device of claim 14 , wherein the providing further comprises providing the version of the row when the consistent view timestamp and the second timestamp information indicate the row create operation had committed at the consistent view timestamp. 17. The computer-readable device of claim 14 , wherein the transaction control block comprises a transaction state indicator and a transaction identifier, wherein the transaction identifier is associated with the single atomic database transaction. 18. The computer-readable device of claim 17 , wherein the providing further comprises providing the version of the row based on the transaction state indicator.

Assignees

Inventors

Classifications

  • using timestamps · CPC title

  • Presentation of query results · CPC title

  • Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title

  • Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files · CPC title

  • using versioning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10409864B2 cover?
Disclosed herein are system, method, and computer program product embodiments for utilizing a transaction control block for providing reader-writer access to transaction commit status. An embodiment operates by receiving a row read request and determining that the row is versioned. The system determines that a first timestamp information for a row destroy transaction associated with the row exi…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/2322. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 10 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).