US 12,259,877 B2
Tracking intermediate changes in database data
Torsten Grabs, San Mateo, CA (US); Istvan Cseri, Seattle, WA (US); and Benoit Dageville, San Mateo, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on May 20, 2024, as Appl. No. 18/668,993.
Application 18/668,993 is a continuation of application No. 18/179,762, filed on Mar. 7, 2023, granted, now 12,026,153.
Application 18/179,762 is a continuation of application No. 17/656,960, filed on Mar. 29, 2022, granted, now 11,620,281.
Application 17/656,960 is a continuation of application No. 17/384,269, filed on Jul. 23, 2021, granted, now 11,321,309.
Application 17/384,269 is a continuation of application No. 17/219,600, filed on Mar. 31, 2021, granted, now 11,106,661.
Application 17/219,600 is a continuation of application No. 16/824,676, filed on Mar. 19, 2020, granted, now 10,997,162.
Application 16/824,676 is a continuation of application No. 16/182,216, filed on Nov. 6, 2018, granted, now 10,977,244.
Prior Publication US 2024/0311369 A1, Sep. 19, 2024
Int. Cl. G06F 16/00 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/2282 (2019.01); G06F 16/24554 (2019.01); G06F 16/2456 (2019.01)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
storing data in a first micro-partition of a table, the first micro-partition including a plurality of columns individually encrypted;
receiving a command related to the stored data in the first micro-partition;
decrypting one or more columns of the first micro-partition to execute a transaction to generate transaction data in response to receiving the command;
performing one or more modifications to the decrypted one or more columns in the first micro-partition to generate a second micro-partition, the second micro-partition including a plurality of columns individually encrypted;
removing the first micro-partition from the table;
generating a delta table, the delta table storing final changes to the stored data in the second micro-partition from the first micro-partition, the delta table being encrypted using a first file key; and
generating modification data, the modification data tracking the modifications performed to the stored data between the second micro-partition and the first micro-partition, the modification data being encrypted using a second file key.