Processing user-defined functions (UDFs) using multiple UDF clients
AssigneeSnowflake Inc.
InventorsElliott Brossard, Chong Han, Igor Zinkovsky
Life of this patent
Estimating the term…
Abstract
A method to process UDFs includes performing, by at least one hardware processor of a database system, a resolution of application components to determine a plurality of resolved components of an application and a plurality of data types corresponding to the plurality of resolved components. The method includes instantiating a plurality of UDF clients. The plurality of UDF clients are associated with the plurality of data types. The method includes detecting a received database query specifies a data type of the plurality of data types. The method includes executing the received database query at a UDF client of the plurality of UDF clients.
Claims27
A method comprising:
- performing, by at least one hardware processor of a database system, a resolution of application components to determine a plurality of resolved components of an application and a plurality of data types corresponding to the plurality of resolved components;
- instantiating a plurality of user-defined function (UDF) clients, the plurality of UDF clients associated with the plurality of data types;
- processing a received database query with a mapping engine to detect that the received database query specifies a data type of the plurality of data types;
- reformatting database data specified by the received database query using a data transport mechanism of a UDF client to generate reformatted data, the reformatted data comprising columnar data;
- forwarding the columnar data to an execution environment corresponding to the UDF client;
- and
- executing the received database query at the UDF client of the plurality of UDF clients.
A system comprising:
- at least one hardware processor;
- and
- at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:
- performing a resolution of application components to determine a plurality of resolved components of an application and a plurality of data types corresponding to the plurality of resolved components;
- instantiating a plurality of user-defined function (UDF) clients, the plurality of UDF clients associated with the plurality of data types;
- processing a received database query with a mapping engine to detect that the received database query specifies a data type of the plurality of data types;
- reformatting database data specified by the received database query using a data transport mechanism of a UDF client to generate reformatted data, the reformatted data comprising columnar data;
- forwarding the columnar data to an execution environment corresponding to the UDF client;
- and
- executing the received database query at the UDF client of the plurality of UDF clients.
A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:
- performing a resolution of application components to determine a plurality of resolved components of an application and a plurality of data types corresponding to the plurality of resolved components;
- instantiating a plurality of user-defined function (UDF) clients, the plurality of UDF clients associated with the plurality of data types;
- processing a received database query with a mapping engine to detect that the received database query specifies a data type of the plurality of data types;
- reformatting database data specified by the received database query using a data transport mechanism of a UDF client to generate reformatted data, the reformatted data comprising columnar data;
- forwarding the columnar data to an execution environment corresponding to the UDF client;
- and
- executing the received database query at the UDF client of the plurality of UDF clients.
Dependencies are inferred from the claim text.