US 11,899,648 B2
Concurrency control for transactions in database systems
Chen Luo, San Mateo, CA (US); Alexander Miller, San Mateo, CA (US); William Waddington, Stateline, NV (US); and Zhaohui Zhang, Redwood City, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Aug. 23, 2022, as Appl. No. 17/821,581.
Application 17/821,581 is a continuation of application No. 17/454,368, filed on Nov. 10, 2021, granted, now 11,436,212.
Application 17/454,368 is a continuation in part of application No. 17/163,034, filed on Jan. 29, 2021, granted, now 11,468,032.
Claims priority of provisional application 63/081,611, filed on Sep. 22, 2020.
Prior Publication US 2022/0405266 A1, Dec. 22, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2322 (2019.01) [G06F 16/2365 (2019.01); G06F 16/2379 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
at least one hardware processor; and
a memory storing instructions that cause the at least one hardware processor to perform operations comprising:
inserting, by a first transaction, a new version of an object, the first transaction including a first statement to perform an update operation to a row in a first table, the object corresponding to data in the row to be updated, the first statement including information comprising an object key associated with the object, the object key comprising additional information being appended as a suffix to the object key, the additional information comprising a first transaction identifier associated with the first transaction and a first statement number associated with the first statement;
performing, by a second transaction, a range read, the range read including information indicating the object key;
receiving a set of conflicting transactions from the range read;
determining that a conflict occurred between the first transaction and a third transaction from the set of conflicting transactions; and
performing a restart of the first transaction in response to determining that the conflict occurred.