US 12,436,937 B2
System and method for increased transaction throughput and improved response time under high contention
Vasudha Krishnaswamy, Fremont, CA (US); Dieter Gawlick, Palo Alto, CA (US); Tirthankar Lahiri, Palo Alto, CA (US); and Weiwei Gong, Belmont, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jul. 19, 2023, as Appl. No. 18/223,822.
Claims priority of provisional application 63/416,341, filed on Oct. 14, 2022.
Claims priority of provisional application 63/416,195, filed on Oct. 14, 2022.
Prior Publication US 2024/0126741 A1, Apr. 18, 2024
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2343 (2019.01) [G06F 16/2379 (2019.01)] 33 Claims
OG exemplary drawing
 
1. A method comprising:
specifying a numeric column of a particular table to be a reservable column and creating one or more constraints involving the reservable column;
while executing a particular transaction, a database server processing an update to a particular row of the reservable column of the particular table by:
determining whether the one or more constraints involving the reservable column would be violated if the update were performed;
responsive to determining that the one or more constraints involving the reservable column would not be violated if the update were performed, without obtaining a lock that covers the particular row, adding a reservation to a reservation journal;
wherein the reservation is a record that:
identifies the particular transaction; and
specifies an amount by which to increment or decrement a value in the reservable column of the particular row;
at a commit time of the particular transaction, the database server performing:
obtaining a lock that covers the particular row;
incrementing or decrementing the value in the reservable column of the particular row by the amount; and
committing the particular transaction;
wherein the method is performed by one or more computing devices.