IP Library › Granted Patent US 10,409,864
Granted Patent B2
US 10,409,864 · App. 14/552,808 · Granted Sep 10, 2019

Transaction control block for multiversion concurrency commit status

Inventors: Ivan Schreter (Mannheim, DE); Chang-Gyoo Park (Seoul, KR)
Assignee: SAP SE
G06F16/9038G06F16/1873G06F16/2322
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,409,864
App. No.
14/552,808
Granted
Sep 10, 2019
Kind
B2
Abstract

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.

Claims (39)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2014
From: SCHRETER, IVAN; PARK, CHANG-GYOO
To: SAP SE
Reel/Frame 034446/0512 →
Continuity (1)
Related Publication 20160147906A1 · May 26, 2016
Cited By (2)
US 12,298,961 US 12,360,981