IP Library Granted Patent US 12675459
Granted Patent B2
US 12675459 · App. 18/677,681 · Granted Jul 7, 2026

Automatic evolution of dynamic tables based on object tracking

Inventors: Hung-An Chen (Seattle, WA); Arvid Heise (Michendorf, DE); Daniel Mills (Seattle, WA); Duc Tien Nguyen (Munich, DE); Leon Papke (Berlin, DE); Attila-Péter Tóth (Bellevue, WA)
Assignee: Snowflake Inc.
G06F16/2282G06F16/221G06F16/2455
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 12675459
App. No.
18/677,681
Granted
Jul 7, 2026
Kind
B2
Abstract

Provided herein are systems and methods for configuring automatic evolution of dynamic tables. An example method includes parsing, by at least one hardware processor, a query associated with a dynamic table to determine a current base object dependency of the dynamic table on at least a first base object. A prior base object dependency of the dynamic table on at least a second base object is retrieved. A delta between data stored by the at least first base object and data stored by the at least second base object is determined. The dynamic table is updated based on the delta.

Claims (89)

1 . A system comprising:

at least one hardware processor; and

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

parsing a query associated with a dynamic table to determine a current base object dependency of the dynamic table on at least a first base object;

retrieving a prior base object dependency of the dynamic table on at least a second base object;

determining a delta between data stored by the at least first base object and data stored by the at least second base object, the prior base object dependency comprising a base view and a base table, and the current base object dependency comprising the base view being recreated and the base table being dropped; and

updating the dynamic table based on the delta.

2 . The system of claim 1 , the operations comprising:

creating the dynamic table using a table definition, the table definition comprising the query and a lag duration value, the lag duration value indicating a maximum time period that a result of a prior refresh of the query lags behind a current time instance.

3 . The system of claim 1 , the operations comprising:

detecting at least a second query associated with the dynamic table; and

prior to the updating, causing execution of the at least second query based on data of the dynamic table.

4 . The system of claim 1 , the operations comprising:

detecting the at least first base object includes a first version of one or more directly referenced base objects or one or more indirectly referenced base objects.

5 . The system of claim 4 , the operations comprising:

detecting the at least second base object includes a second version of the one or more directly referenced base objects or the one or more indirectly referenced base objects, wherein the second version is generated after the first version.

6 . The system of claim 5 , the operations comprising:

determining the second version is generated based on adding, dropping, or renaming a table column of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing the updating based on adding, dropping, or renaming the table column in the dynamic table.

7 . The system of claim 5 , the operations comprising:

determining the second version is generated based on dropping a base table from the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

suspending a refresh of the dynamic table based on the dropping of the base table.

8 . The system of claim 5 , the operations comprising:

determining the second version is generated based on an application of an access policy to at least one of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing a full refresh of the dynamic table based on the application of the access policy.

9 . The system of claim 1 , wherein the at least first base object and the at least second base object comprise at least one of a base table, a base view, and a base function.

10 . The system of claim 1 , the operations comprising:

determining a current column dependency of at least one column of the dynamic table on one or more columns of the at least first base object;

retrieving a prior column dependency of the at least one column of the dynamic table on the one or more columns of the at least first base object;

determining an additional delta between data stored by the one or more columns of the at least first base object between a time the current column dependency is determined and time the prior column dependency is determined; and

updating the one or more columns of the dynamic table based on the additional delta.

11 . A method comprising:

parsing, by at least one hardware processor, a query associated with a dynamic table to determine a current base object dependency of the dynamic table on at least a first base object;

retrieving a prior base object dependency of the dynamic table on at least a second base object;

determining a delta between data stored by the at least first base object and data stored by the at least second base object, the prior base object dependency comprising a base view and a base table, and the current base object dependency comprising the base view being recreated and the base table being dropped; and

updating the dynamic table based on the delta.

12 . The method of claim 11 , further comprising:

creating the dynamic table using a table definition, the table definition comprising the query and a lag duration value, the lag duration value indicating a maximum time period that a result of a prior refresh of the query lags behind a current time instance.

13 . The method of claim 11 , further comprising:

detecting at least a second query associated with the dynamic table; and

prior to the updating, causing execution of the at least second query based on data of the dynamic table.

14 . The method of claim 11 , further comprising:

detecting the at least first base object includes a first version of one or more directly referenced base objects or one or more indirectly referenced base objects.

15 . The method of claim 14 , further comprising:

detecting the at least second base object includes a second version of the one or more directly referenced base objects or the one or more indirectly referenced base objects, wherein the second version is generated after the first version.

16 . The method of claim 15 , further comprising:

determining the second version is generated based on adding, dropping, or renaming a table column of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing the updating based on adding, dropping, or renaming the table column in the dynamic table.

17 . The method of claim 15 , further comprising:

determining the second version is generated based on dropping a base table from the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

suspending a refresh of the dynamic table based on the dropping of the base table.

18 . The method of claim 15 , further comprising:

determining the second version is generated based on an application of an access policy to at least one of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing a full refresh of the dynamic table based on the application of the access policy.

19 . The method of claim 11 , wherein the at least first base object and the at least second base object comprise at least one of a base table, a base view, and a base function.

20 . The method of claim 11 , further comprising:

determining a current column dependency of at least one column of the dynamic table on one or more columns of the at least first base object;

retrieving a prior column dependency of the at least one column of the dynamic table on the one or more columns of the at least first base object;

determining an additional delta between data stored by the one or more columns of the at least first base object between a time the current column dependency is determined and time the prior column dependency is determined; and

updating the one or more columns of the dynamic table based on the additional delta.

21 . A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:

parsing a query associated with a dynamic table to determine a current base object dependency of the dynamic table on at least a first base object;

retrieving a prior base object dependency of the dynamic table on at least a second base object;

determining a delta between data stored by the at least first base object and data stored by the at least second base object, the prior base object dependency comprising a base view and a base table, and the current base object dependency comprising the base view being recreated and the base table being dropped; and

updating the dynamic table based on the delta.

22 . The computer-storage medium of claim 21 , the operations comprising:

creating the dynamic table using a table definition, the table definition comprising the query and a lag duration value, the lag duration value indicating a maximum time period that a result of a prior refresh of the query lags behind a current time instance.

23 . The computer-storage medium of claim 21 , the operations comprising:

detecting at least a second query associated with the dynamic table; and

prior to the updating, causing execution of the at least second query based on data of the dynamic table.

24 . The computer-storage medium of claim 21 , the operations comprising:

detecting the at least first base object includes a first version of one or more directly referenced base objects or one or more indirectly referenced base objects.

25 . The computer-storage medium of claim 24 , the operations comprising:

detecting the at least second base object includes a second version of the one or more directly referenced base objects or the one or more indirectly referenced base objects, wherein the second version is generated after the first version.

26 . The computer-storage medium of claim 25 , the operations comprising:

determining the second version is generated based on adding, dropping, or renaming a table column of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing the updating based on adding, dropping, or renaming the table column in the dynamic table.

27 . The computer-storage medium of claim 25 , the operations comprising:

determining the second version is generated based on dropping a base table from the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

suspending a refresh of the dynamic table based on the dropping of the base table.

28 . The computer-storage medium of claim 25 , the operations comprising:

determining the second version is generated based on an application of an access policy to at least one of the one or more directly referenced base objects or the one or more indirectly referenced base objects; and

performing a full refresh of the dynamic table based on the application of the access policy.

29 . The computer-storage medium of claim 21 , wherein the at least first base object and the at least second base object comprise at least one of a base table, a base view, and a base function.

30 . The computer-storage medium of claim 21 , the operations comprising:

determining a current column dependency of at least one column of the dynamic table on one or more columns of the at least first base object;

retrieving a prior column dependency of the at least one column of the dynamic table on the one or more columns of the at least first base object;

determining an additional delta between data stored by the one or more columns of the at least first base object between a time the current column dependency is determined and time the prior column dependency is determined; and

updating the one or more columns of the dynamic table based on the additional delta.