US 11,886,872 B1
In-database application package and application
Karol Pawel Bienkowski, Toronto (CA); Damien Carru, Rhinebeck, NY (US); Jeremy Yujui Chen, Newark, CA (US); Pui Kei Johnston Chu, Richmond Hill (CA); Benoit Dageville, San Mateo, CA (US); Scott C. Gray, Richmond Hill (CA); Unmesh Jagtap, San Mateo, CA (US); and Subramanian Muralidhar, Mercer Island, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Feb. 15, 2023, as Appl. No. 18/169,812.
Int. Cl. G06F 8/71 (2018.01); G06F 9/448 (2018.01)
CPC G06F 8/71 (2013.01) [G06F 9/4488 (2018.02)] 30 Claims
OG exemplary drawing
 
1. A computer-implemented method of a data platform, the method comprising:
creating, by one or more processors, an application instance of an application package having a versioned schema;
creating, by the one or more processors, one or more system roles for the application instance based on the versioned schema;
creating, by the one or more processors, one or more user roles for the application instance based on the versioned schema;
creating, by the one or more processors, one or more objects of the application instance based on the versioned schema;
granting, by the one or more processors, one or more usages to the one or more user roles based on the versioned schema, the one or more usages comprising use privileges to access objects of the application package; and
determining, by the one or more processors executing a first procedure, a version context of a second procedure based on a versioned schema, wherein the version context of the second procedure is determined by rules comprising;
in response to determining the second procedure is associated with a call context, use a version of a call context of the first procedure and the second procedure;
in response to determining there is a global version set on a parent database of the first procedure and the second procedure, use the global version; and
in response to determining the second procedure not associated with the call context and no global version set on the parent database, use an active version associated with the versioned schema.