US 12,118,038 B2
Accessing data using a file reference-based user defined function
Elliott Brossard, Kirkland, WA (US); Sukruth Komarla Sukumar, Bellevue, WA (US); Isaac Kunen, Seattle, WA (US); Ju-Yi Kuo, Sammamish, WA (US); Jonathan Lee Leang, Seattle, WA (US); Edward Ma, San Jose, CA (US); Schuyler James Manchester, San Jose, CA (US); Polita Paulus, Kirkland, WA (US); Saurin Shah, Kirkland, WA (US); and Igor Zinkovsky, Redmond, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Dec. 8, 2022, as Appl. No. 18/063,253.
Application 18/063,253 is a continuation of application No. 17/657,548, filed on Mar. 31, 2022, granted, now 11,550,845.
Application 17/657,548 is a continuation of application No. 17/463,325, filed on Aug. 31, 2021, granted, now 11,361,026.
Application 17/463,325 is a continuation in part of application No. 17/390,969, filed on Aug. 1, 2021, granted, now 11,423,081.
Application 17/390,969 is a continuation in part of application No. 17/244,349, filed on Apr. 29, 2021, granted, now 11,222,071.
Application 17/244,349 is a continuation of application No. 16/942,352, filed on Jul. 29, 2020, granted, now 10,997,243.
Claims priority of provisional application 63/197,803, filed on Jun. 7, 2021.
Claims priority of provisional application 63/046,229, filed on Jun. 30, 2020.
Prior Publication US 2023/0097756 A1, Mar. 30, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/00 (2019.01); G06F 16/22 (2019.01); G06F 16/2455 (2019.01); G06F 16/901 (2019.01); G06F 16/908 (2019.01); G06F 16/955 (2019.01)
CPC G06F 16/9017 (2019.01) [G06F 16/2282 (2019.01); G06F 16/24568 (2019.01); G06F 16/908 (2019.01); G06F 16/955 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A method comprising:
decoding, by at least one hardware processor, a request for a user-defined function (UDF), the request including a reference to one or more files;
generating in a UDF execution environment, by the at least one hardware processor, the UDF based on the request, the UDF including a file reference object with file path information corresponding to the reference, and the file path information identifying a file path to the one or more files specified by the request;
detecting a UDF call into the UDF, the UDF call specifying the file path information of the file reference object; and
processing the UDF call in a sandbox process to access the one or more files via the file path and to generate result data using the one or more files.