US 12,079,244 B2
Query plans for analytic SQL constructs
Thierry Cruanes, San Mateo, CA (US); Benoit Dageville, Foster City, CA (US); and Allison Waingold Lee, San Mateo, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by SNOWFLAKE INC., Bozeman, MT (US)
Filed on Oct. 24, 2022, as Appl. No. 17/972,003.
Application 17/972,003 is a continuation of application No. 17/573,550, filed on Jan. 11, 2022, granted, now 11,494,407.
Application 17/573,550 is a continuation of application No. 17/063,612, filed on Oct. 5, 2020, granted, now 11,238,060, issued on Feb. 1, 2022.
Application 17/063,612 is a continuation of application No. 16/945,456, filed on Jul. 31, 2020, granted, now 11,216,485, issued on Jan. 4, 2022.
Application 16/945,456 is a continuation of application No. 16/741,676, filed on Jan. 13, 2020, granted, now 10,762,106, issued on Sep. 1, 2020.
Application 16/741,676 is a continuation of application No. 14/626,853, filed on Feb. 19, 2015, granted, now 10,534,792, issued on Jan. 14, 2020.
Claims priority of provisional application 61/941,986, filed on Feb. 19, 2014.
Prior Publication US 2023/0042949 A1, Feb. 9, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 15/16 (2006.01); A61F 5/56 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 16/14 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H04L 67/1095 (2022.01); H04L 67/1097 (2022.01); H04L 67/568 (2022.01)
CPC G06F 16/273 (2019.01) [A61F 5/566 (2013.01); G06F 9/4881 (2013.01); G06F 9/5016 (2013.01); G06F 9/5044 (2013.01); G06F 9/5083 (2013.01); G06F 9/5088 (2013.01); G06F 16/148 (2019.01); G06F 16/1827 (2019.01); G06F 16/211 (2019.01); G06F 16/221 (2019.01); G06F 16/2365 (2019.01); G06F 16/24532 (2019.01); G06F 16/24545 (2019.01); G06F 16/24552 (2019.01); G06F 16/2456 (2019.01); G06F 16/2471 (2019.01); G06F 16/254 (2019.01); G06F 16/27 (2019.01); G06F 16/283 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); H04L 67/568 (2022.05)] 30 Claims
OG exemplary drawing
 
1. A method comprising pushing, by a first operator, as a result of executing a query plan against a set of data, an intermediate result of the first operator to a plurality of secondary operators;
delaying beginning processing of the intermediate result by the plurality of secondary operators to coordinate concurrent generation, on one or more processors, of a plurality of second results based on beginning a final consumption operation; and
executing the final consumption operation, by the first operator, against the plurality of second results, to generate a final result.