US 11,989,173 B2
Query validation and processing in data clean rooms
Rachel Frances Blum, South Orange, NJ (US); Justin Langseth, Kailua, HI (US); and Michael Earle Rainey, Kennewick, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Jan. 31, 2023, as Appl. No. 18/162,710.
Application 18/162,710 is a continuation of application No. 17/816,420, filed on Jul. 31, 2022.
Claims priority of provisional application 63/366,286, filed on Jun. 13, 2022.
Prior Publication US 2023/0401201 A1, Dec. 14, 2023
Int. Cl. G06F 16/30 (2019.01); G06F 16/242 (2019.01); G06F 16/2455 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/242 (2019.01) [G06F 16/2456 (2019.01); G06F 16/27 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A method performed by executing instructions on at least one hardware processor, the method comprising:
generating, at a provider database account, an installation file that, when processed, generates instances of a defined access clean room providing clean room functionality, defines parameters for the instances of the defined access clean room, generates one or more procedures for the instances of the defined access clean room, and controls visibility of objects across different consumer accounts;
providing the installation file to a consumer database account;
installing, in the consumer database account, the installation file to generate an application instance of the defined access clean room;
sharing, by the provider database account, source provider data with the defined access clean room, the sharing making the source provider data accessible to the consumer database account via the application instance;
sharing, by the provider database account, a query template with the consumer database account via the application instance;
receiving preapproval of the query template by the consumer database account;
causing enablement of the consumer database account to use the query template based on the received preapproval of the query template, the query template including one or more blanks or placeholders, the query template configured to enable values to be entered into the blanks or placeholders and to be used to execute a query based on the entered values;
receiving a query generated by the consumer database account, the query including the query template with entered values into the blanks or placeholders of the query template;
assessing whether the query meets data restrictions of visibility to the source provider data that is shared with the defined access clean room;
validating that the query is consistent with the query template by determining that the query meets the data restrictions; and
in response to validating that the query is consistent with the query template:
generating, based on validating that the query is consistent with the query template, query results by executing the query; and
storing the query results in the consumer database account.