IP Library › Granted Patent US 12,547,612
Granted Patent B2
US 12,547,612 · App. 18/585,431 · Granted Feb 10, 2026

Atomic and incremental target state definitions for database entities

Inventors: Florian Gross (Berlin, DE); Martin Hentschel (Berlin, DE); Vincent Raudszus (Berlin, DE); Stefan Richter (Berlin, DE); Tom Henri Wollnik (Potsdam, DE)
Assignee: Snowflake Inc.
G06F16/2379G06F16/213G06F16/2365G06F16/245
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 12,547,612
App. No.
18/585,431
Granted
Feb 10, 2026
Kind
B2
Abstract

Techniques for creating and modifying database entities, such as tables, tasks, etc., using declarative statements are described. Declarative statements specify a target state of the entity without specifying specific actions. The techniques described herein apply changes to the database entity atomically and incrementally.

Claims (38)

1 . A method comprising:

receiving a statement defining an object definition of a database entity stored in a network-based data system;

parsing, by at least one hardware processor, the statement to determine a target state of the database entity;

obtaining a current state of the database entity from a metadata database in the network-based data system;

comparing the target state and the current state of the database entity to determine a set of changes;

generating a plurality of execution steps based on the set of changes, each execution step comprising a pre-execute sub-step, a commit sub-step, and a post-execute sub-step; and

executing the pre-execute sub-steps and commit sub-steps for the plurality of execution steps using a single transaction with the metadata database so that changes to the database entity corresponding to each of the plurality of execution steps become visible to a user at a same time and intermediate changes between the plurality of execution steps are not visible to the user,

the post-execute sub-steps being performed without interacting with the metadata database.

2 . The method of claim 1 , wherein the statement comprises a declarative statement defining the target state of the database entity without including a specific action.

3 . The method of claim 1 , wherein the pre-execute substep of a first execution step comprises a plurality of operations.

4 . The method of claim 1 , wherein the database entity comprises a table.

5 . The method of claim 1 , wherein database entity comprises a task.

6 . A machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

receiving a statement defining an object definition of a database entity stored in a network-based data system;

parsing, by at least one hardware processor, the statement to determine a target state of the database entity;

obtaining a current state of the database entity from a metadata database in the network-based data system;

comparing the target state and the current state of the database entity to determine a set of changes;

generating a plurality of execution steps based on the set of changes, each execution step comprising a pre-execute sub-step, a commit sub-step, and a post-execute sub-step; and

executing the pre-execute sub-steps and commit sub-steps for the plurality of execution steps using a single transaction with the metadata database so that changes to the database entity corresponding to each of the plurality of execution steps become visible to a user at a same time and intermediate changes between the plurality of execution steps are not visible to the user,

the post-execute sub-steps being performed without interacting with the metadata database.

7 . The machine-storage medium of claim 6 , wherein the statement comprises a declarative statement defining the target state of the database entity without including a specific action.

8 . The machine-storage medium of claim 6 , wherein the pre-execute substep of a first execution step comprises a plurality of operations.

9 . The machine-storage medium of claim 6 , wherein the database entity comprises a table.

10 . The machine-storage medium of claim 6 , wherein database entity comprises a task.

11 . A system comprising:

at least one hardware processor; and

at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

receiving a statement defining an object definition of a database entity stored in a network-based data system;

parsing, by at least one hardware processor, the statement to determine a target state of the database entity;

obtaining a current state of the database entity from a metadata database in the network-based data system;

comparing the target state and the current state of the database entity to determine a set of changes;

generating a plurality of execution steps based on the set of changes, each execution step comprising a pre-execute sub-step, a commit sub-step, and a post-execute sub-step; and

executing the pre-execute sub-steps and commit sub-steps for the plurality of execution steps using a single transaction with the metadata database so that changes to the database entity corresponding to each of the plurality of execution steps become visible to a user at a same time and intermediate changes between the plurality of execution steps are not visible to the user,

the post-execute sub-steps being performed without interacting with the metadata database.

12 . The system of claim 11 , wherein the statement comprises a declarative statement defining the target state of the database entity without including a specific action.

13 . The system of claim 11 , wherein the pre-execute substep of a first execution step comprises a plurality of operations.

14 . The system of claim 11 , wherein the database entity comprises a table.

15 . The system of claim 11 , wherein database entity comprises a task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2024
From: GROSS, FLORIAN; HENTSCHEL, MARTIN; RAUDSZUS, VINCENT; RICHTER, STEFAN; WOLLNIK, TOM HENRI
To: SNOWFLAKE INC.
Reel/Frame 067207/0555 →
Continuity (1)
Related Publication 20250272277A1 · Aug 28, 2025
References Cited (8)
US 11874822B1 · Singh · 2024 [cited by examiner]
US 20070294312A1 · Seshadri · 2007 [cited by examiner]
US 20170116241A1 · Kumar · 2017 [cited by examiner]
US 20210227024A1 · Glass · 2021 [cited by examiner]
US 20210365440A1 · Pople · 2021 [cited by examiner]
US 20220067029A1 · Murthy · 2022 [cited by examiner]
Raudszus, Vincent, “DevOps in Snowflake How Git and Database Change Management enable a file based object lifecycle”, medium.com, (Nov. 2016), 18 pages. [cited by applicant]
Yaseen, Ahmad, “Create or Alter statement in SQL Server”, [Online]. Retrieved from the Internet: https: www.mssqltips.com sqlservertip 4640 create-or-alter-statement-in-sql-server , (Accessed online Apr. 9, 2024), 3 pag… [cited by applicant]