IP Library Granted Patent US 11,494,438
Granted Patent B2
US 11,494,438 · App. 17/645,415 · Granted Nov 8, 2022

Population of file-catalog table for file stage

Inventors: Polita Paulus (Kirkland, WA); Aravind Ramarathinam (Sammamish, WA); Saurin Shah (Kirkland, WA); Sukruth Komarla Sukumar (Bellevue, WA)
Assignee: Snowflake Inc.
G06F16/9017G06F16/2282G06F16/24568G06F16/908G06F16/955
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 11,494,438
App. No.
17/645,415
Granted
Nov 8, 2022
Kind
B2
Abstract

Disclosed herein are systems and methods for population of a file-catalog table for a file stage in a user account on a data platform. In an embodiment, a data platform receives, from a client associated with a user account, a request to populate a file-catalog table of the user account based on a plurality of files stored in a file stage of the user account. The data platform responsively executes a list-files table function with respect to the file stage to generate a database-table object having a row for each file stored in the file stage. The data platform populates the file-catalog table of the user account based on the database-table object generated by the list-files table function.

Claims (55)

1. A method performed by a data platform executing instructions on at least one hardware processor, the method comprising:

receiving, from a client associated with a user account, a request to populate a file-catalog table of the user account based on a plurality of files stored in a file stage for the user account, the user account being associated with one or more databases that collectively include one or more tables, the file stage being represented in the user account by file-stage object that includes an indication of a particular storage location of the file stage;

executing, in response to receiving the request to populate the file-catalog table, a list-files table function with respect to the file stage, the list-files table function being configured to generate a database-table object having a row for each file stored in the file stage; and

populating the file-catalog table of the user account based on the database-table object generated by the list-files table function, the file-catalog table being an addition to the one or more tables in the one or more databases with which the user account is associated.

2. The method of claim 1 , wherein the database-table object further comprises a column for each of at least two different metadata properties of the plurality of files in the file stage.

3. The method of claim 1 , further comprising:

receiving, from the client, a stage-creation instruction requesting creation of the file stage for the user account, the stage-creation instruction comprising a file-catalog-table-creation instruction requesting creation of the file-catalog table for the file stage; and

creating, in response to receiving the stage-creation instruction, the file stage and the file-catalog table for the file stage.

4. The method of claim 3 , wherein the file-catalog table comprises a built-in file-catalog table that is managed by the data platform.

5. The method of claim 3 , wherein:

the creating of the file stage comprises creating a file-stage object representing the file stage in the user account;

the file stage comprises data storage having a particular storage location; and

the file-stage object comprises an indication of the particular storage location.

6. The method of claim 1 , further comprising:

receiving, from the client, a file-catalog-table-creation instruction requesting creation of the file-catalog table for the file stage; and

creating, in response to receiving the file-catalog-table-creation instruction, the file-catalog table for the file stage.

7. The method of claim 1 , further comprising receiving a list-files-table-function call from the client with respect to the file stage, the executing of the list-files table function with respect to the file stage being performed responsive to receiving the list-files-table-function call from the client.

8. The method of claim 1 , further comprising receiving and executing commands to create and share a view over the file-catalog table, the view comprising presigned Uniform Resource Locators (URLs) for providing access to files referenced in the view, the files referenced in the view being less than all of the files in the file stage.

9. The method of claim 1 , wherein the file stage comprises an internal stage with respect to the data platform.

10. The method of claim 1 , wherein the file stage comprises an external stage with respect to the data platform.

11. A data platform comprising:

at least one hardware processor; and

one or more computer-storage media containing instructions that, when executed by the at least one hardware processor, cause the data platform to perform operations including:

receiving, from a client associated with a user account, a request to populate a file-catalog table of the user account based on a plurality of files stored in a file stage for the user account, the user account being associated with one or more databases that collectively include one or more tables, the file stage being represented in the user account by a file-stage object that includes an indication of a particular storage location of the file stage;

executing, in response to receiving the request to populate the file-catalog table, a list-files table function with respect to the file stage, the list-files table function being configured to generate a database-table object having a row for each file stored in the file stage; and

populating the file-catalog table of the user account based on the database-table object generated by the list-files table function, the file-catalog table being an addition to the one or more tables in the one or more databases with which the user account is associated.

12. The data platform of claim 11 , wherein the database-table object further comprises a column for each of at least two different metadata properties of the plurality of files in the file stage.

13. The data platform of claim 11 , the operations further comprising:

receiving, from the client, a stage-creation instruction requesting creation of the file stage for the user account, the stage-creation instruction comprising a file-catalog-table-creation instruction requesting creation of the file-catalog table for the file stage; and

creating, in response to receiving the stage-creation instruction, the file stage and the file-catalog table for the file stage.

14. The data platform of claim 13 , wherein the file-catalog table comprises a built-in file-catalog table that is managed by the data platform.

15. The data platform of claim 13 , wherein:

the creating of the file stage comprises creating a file-stage object representing the file stage in the user account;

the file stage comprises data storage having a particular storage location; and

the file-stage object comprises an indication of the particular storage location.

16. The data platform of claim 11 , the operations further comprising:

receiving, from the client, a file-catalog-table-creation instruction requesting creation of the file-catalog table for the file stage; and

creating, in response to receiving the file-catalog-table-creation instruction, the file-catalog table for the file stage.

17. The data platform of claim 11 , the operations further comprising receiving a list-files-table-function call from the client with respect to the file stage, the executing of the list-files table function with respect to the file stage being performed responsive to receiving the list-files-table-function call from the client.

18. The data platform of claim 11 , the operations further comprising receiving and executing commands to create and share a view over the file-catalog table, the view comprising presigned Uniform Resource Locators (URLs) for providing access to files referenced in the view, the files referenced in the view being less than all of the files in the file stage.

19. The data platform of claim 11 , wherein the file stage comprises an internal stage with respect to the data platform.

20. The data platform of claim 11 , wherein the file stage comprises an external stage with respect to the data platform.

21. One or more computer-storage media containing instructions that, when executed by at least one hardware processor of a data platform, cause the at least one hardware processor to perform operations including:

receiving, from a client associated with a user account, a request to populate a file-catalog table of the user account based on a plurality of files stored in a file stage for the user account, the user account being associated with one or more databases that collectively include one or more tables, the file stage being represented in the user account by a file-stage object that includes an indication of a particular storage location of the file stage;

executing, in response to receiving the request to populate the file-catalog table, a list-files table function with respect to the file stage, the list-files table function being configured to generate a database-table object having a row for each file stored in the file stage; and

populating the file-catalog table of the user account based on the database-table object generated by the list-files table function, the table being an addition to the one or more tables in the one or more databases with which the user account is associated.

22. The one or more computer-storage media of claim 21 , the operations further comprising:

receiving, from the client, a stage-creation instruction requesting creation of the file stage for the user account, the stage-creation instruction comprising a file-catalog-table-creation instruction requesting creation of the file-catalog table for the file stage; and

creating, in response to receiving the stage-creation instruction, the file stage and the file-catalog table for the file stage.

23. The one or more computer-storage media of claim 22 , wherein the file-catalog table comprises a built-in file-catalog table that is managed by the data platform.

24. The one or more computer-storage media of claim 22 , wherein:

the creating of the file stage comprises creating a file-stage object representing the file stage in the user account;

the file stage comprises data storage having a particular storage location; and

the file-stage object comprises an indication of the particular storage location.

25. The one or more computer-storage media of claim 21 , the operations further comprising receiving a list-files-table-function call from the client with respect to the file stage, the executing of the list-files table function with respect to the file stage being performed responsive to receiving the list-files-table-function call from the client.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: PAULUS, POLITA; RAMARATHINAM, ARAVIND; SHAH, SAURIN; SUKUMAR, SUKRUTH KOMARLA
To: SNOWFLAKE INC.
Reel/Frame 058450/0655 →
Continuity (4)
Continuation 17244349 · Apr 29, 2021
Continuation 16942352 · Jul 29, 2020
Provisional Application 63046229 · Jun 30, 2020
Related Publication 20220114217A1 · Apr 14, 2022
Cited By (3)
US 12,417,822 US 12,430,297 US 12,488,048