IP Library Granted Patent US 11,347,770
Granted Patent B2
US 11,347,770 · App. 17/491,357 · Granted May 31, 2022

Cloning catalog objects

Inventors: Ashish Motivala (Foster City, CA); Benoit Dageville (San Carlos, CA)
Assignee: Snowflake Inc.
G06F16/27G06F9/4881G06F9/5016G06F9/5044G06F9/5083G06F9/5088G06F16/148G06F16/1827G06F16/211G06F16/221G06F16/2365G06F16/2456G06F16/2471G06F16/24532G06F16/24545G06F16/24552G06F16/951G06F16/9535H04L67/1095H04L67/1097H04L67/2842
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,347,770
App. No.
17/491,357
Granted
May 31, 2022
Kind
B2
Abstract

Example systems and methods for cloning catalog objects are described. In one implementation, a method includes creating a copy of a catalog object without copying a data associated with the catalog object by only coping metadata associated with the object. The method further includes modifying, by one or more processors, the data associated with the catalog object independently of the copy of the catalog object such that modified data is not visible to the copy of the catalog object and wherein the modified data is not visible to the catalog object in a database. The method further includes deleting the copy of the catalog object following completion of the modification of the data associated with the catalog object.

Claims (44)

1. A system comprising:

a memory; and

one or more processors, operatively coupled to the memory, the one or more processors to:

copy a first catalog object of a database by creating a second catalog object, the first catalog object and the second catalog object comprising first and second metadata, respectively,

wherein the first metadata comprises first mappings to first data of the first catalog object within a first data file and to second data of the first catalog object within a second data file, and

wherein the second metadata comprises second mappings to the first data of the first catalog object within the first data file, such that at least portions of the first mappings and at least portions of the second mappings are mapped to a same portion of the first data file containing the first data;

modify the second data of the first catalog object independently of the second catalog object; and

generate a response to a data storage or data retrieval request to the first catalog object by accessing the second mappings of the second metadata of the second catalog object.

2. The system of claim 1 , wherein the data storage or data retrieval request is one of a plurality of data storage or data retrieval requests to the first catalog object, and

wherein the one or more processors are to copy the first catalog object of the database responsive to another of the plurality of data storage or data retrieval requests to the first catalog object that modifies the first data of the first catalog object.

3. The system of claim 1 , wherein the one or more processors are further to delete the second catalog object after responding to the data storage or data retrieval request to the first catalog object.

4. The system of claim 1 , wherein to copy the first catalog object of the database the one or more processors are to recursively copy elements of the first catalog object to create the second catalog object.

5. The system of claim 1 , wherein to access the second mappings of the second metadata of the second catalog object the one or more processors are to delete a portion of the first data in the second catalog object independently of the first catalog object by unmapping the second metadata from the portion of the first data within the first data file while leaving the first metadata mapped to the portion of the first data within the first data file.

6. The system of claim 1 , wherein to access the second mappings of the second metadata of the second catalog object the one or more processors are to modify a portion of the first data associated with the second catalog object independently of the first catalog object by:

copying a modified portion of the first data to second data within a second data file; and

updating the second mappings of the second metadata to reference the second data within the second data file.

7. The system of claim 1 , wherein the first catalog object comprises one or more of a schema, a table, a view, a column, a constraint, a sequence, a function, a file format, and a stage.

8. A method comprising:

copying a first catalog object of a database by creating a second catalog object, the first catalog object and the second catalog object comprising first and second metadata, respectively,

wherein the first metadata comprises first mappings to first data of the first catalog object within a first data file and to second data of the first catalog object within a second data file, and

wherein the second metadata comprises second mappings to the first data of the first catalog object within the first data file, such that at least portions of the first mappings and at least portions of the second mappings are mapped to a same portion of the first data file containing the first data;

modifying the second data of the first catalog object independently of the second catalog object; and

generating a response to a data storage or data retrieval request to the first catalog object by accessing the second mappings of the second metadata of the second catalog object.

9. The method of claim 8 , wherein the data storage or data retrieval request is one of a plurality of data storage or data retrieval requests to the first catalog object, and

wherein copying the first catalog object of the database is performed responsive to another of the plurality of data storage or data retrieval requests to the first catalog object that modifies the first data of the first catalog object.

10. The method of claim 8 , further comprising deleting the second catalog object after responding to the data storage or data retrieval request to the first catalog object.

11. The method of claim 8 , wherein copying the first catalog object of the database comprises recursively copying elements of the first catalog object to create the second catalog object.

12. The method of claim 8 , wherein accessing the second mappings of the second metadata of the second catalog object comprises deleting a portion of the first data in the second catalog object independently of the first catalog object by unmapping the second metadata from the portion of the first data within the first data file while leaving the first metadata mapped to the portion of the first data within the first data file.

13. The method of claim 8 , wherein the first catalog object comprises one or more of a schema, a table, a view, a column, a constraint, a sequence, a function, a file format, and a stage.

14. A non-transitory computer-readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to:

copy a first catalog object of a database by creating a second catalog object, the first catalog object and the second catalog object comprising first and second metadata, respectively,

wherein the first metadata comprises first mappings to first data of the first catalog object within a first data file and to second data of the first catalog object within a second data file, and

wherein the second metadata comprises second mappings to the first data of the first catalog object within the first data file, such that at least portions of the first mappings and at least portions of the second mappings are mapped to a same portion of the first data file containing the first data;

modify the second data of the first catalog object independently of the second catalog object; and

generate a response to a data storage or data retrieval request to the first catalog object by accessing the second mappings of the second metadata of the second catalog object.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the data storage or data retrieval request is one of a plurality of data storage or data retrieval requests to the first catalog object, and

wherein the one or more processors are to copy the first catalog object of the database responsive to another of the plurality of data storage or data retrieval requests to the first catalog object that modifies the first data of the first catalog object.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the one or more processors are further to delete the second catalog object after responding to the data storage or data retrieval request to the first catalog object.

17. The non-transitory computer-readable storage medium of claim 14 , wherein to copy the first catalog object of the database the one or more processors are to recursively copy elements of the first catalog object to create the second catalog object.

18. The non-transitory computer-readable storage medium of claim 14 , wherein to access the second mappings of the second metadata of the second catalog object the one or more processors are to delete a portion of the first data in the second catalog object independently of the first catalog object by unmapping the second metadata from the portion of the first data within the first data file while leaving the first metadata mapped to the portion of the first data within the first data file.

19. The non-transitory computer-readable storage medium of claim 14 , wherein to access the second mappings of the second metadata of the second catalog object the one or more processors are to modify a portion of the first data associated with the second catalog object independently of the first catalog object by:

copying a modified portion of the first data to second data within a second data file; and

updating the second mappings of the second metadata to reference the second data within the second data file.

20. The non-transitory computer-readable storage medium of claim 14 , wherein the first catalog object comprises one or more of a schema, a table, a view, a column, a constraint, a sequence, a function, a file format, and a stage.

Assignments (2)
CHANGE OF NAME Recorded Oct 1, 2021
From: SNOWFLAKE COMPUTING, INC.
To: SNOWFLAKE INC.
Reel/Frame 057688/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: MOTIVALA, ASHISH; DAGEVILLE, BENOIT
To: SNOWFLAKE COMPUTING, INC.
Reel/Frame 057662/0941 →
Continuity (6)
Continuation 16814711 · Mar 10, 2020
Continuation 16741693 · Jan 13, 2020
Continuation 15171859 · Jun 2, 2016
Continuation In Part 14518884 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20220019599A1 · Jan 20, 2022