US 11,928,110 B2
Multiple environments and functions in a distributed database
Srilakshmi Chintala, Seattle, WA (US); Chong Han, Bellevue, WA (US); Albert L. Hu, Seattle, WA (US); Nitya Kumar Sharma, Bellevue, WA (US); and Igor Zinkovsky, Redmond, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Oct. 31, 2022, as Appl. No. 18/051,483.
Claims priority of provisional application 63/268,583, filed on Feb. 25, 2022.
Prior Publication US 2023/0273918 A1, Aug. 31, 2023
Int. Cl. G06F 16/00 (2019.01); G06F 16/242 (2019.01); G06F 16/248 (2019.01); G06F 16/27 (2019.01); G06F 8/41 (2018.01)
CPC G06F 16/2448 (2019.01) [G06F 16/248 (2019.01); G06F 16/27 (2019.01); G06F 8/433 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method comprising:
storing a user application on a database system;
identifying, by at least one hardware processor, a plurality of package dependencies of the user application from a repository of packages, the plurality of package dependencies including one or more software packages used by an application, and comprising a first package dependency and a second package dependency;
receiving, from a user of the database system, a database statement that includes a first portion using the first package dependency and a second portion using the second package dependency;
in response to the database statement, retrieving the first package dependency and the second package dependency from the repository of the packages;
in response to retrieving the first package dependency, generating a first execution environment that comprises the first package dependency;
assigning a first repository number to the first execution environment upon generation of the first execution environment, the first repository number identifying a state of the first package dependency;
in response to retrieving the second package dependency, generating a second execution environment that comprises the second package dependency;
assigning a second repository number to the second execution environment upon generation of the second execution environment, the second repository number identifying a state of the second package dependency;
enabling the user of the database system to use the first repository number to recreate the first execution environment and to use the second repository number to recreate the second execution environment; and
based on the database statement, generating results data using a recreated first execution environment and a recreated second execution environment.