| CPC G06F 16/2343 (2019.01) [G06F 16/2379 (2019.01)] | 33 Claims |

|
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.
|