US 12,321,352 B2
Computer data system current row position query language construct and array processing query language constructs
David R. Kent, IV, Colorado Springs, CO (US); Ryan Caudy, New York, NY (US); Charles Wright, Cortlandt Manor, NY (US); Mark Zeldis, Randolph, NJ (US); and Radu Teodorescu, New York, NY (US)
Assigned to Deephaven Data Labs LLC, Plymouth, MN (US)
Filed by Deephaven Data Labs LLC, Plymouth, MN (US)
Filed on Apr. 28, 2023, as Appl. No. 18/140,786.
Application 18/140,786 is a division of application No. 16/252,944, filed on Jan. 21, 2019, granted, now 11,663,208.
Application 16/252,944 is a continuation of application No. 15/154,984, filed on May 14, 2016, granted, now 10,198,465, issued on Feb. 5, 2019.
Claims priority of provisional application 62/161,813, filed on May 14, 2015.
Prior Publication US 2023/0259508 A1, Aug. 17, 2023
Int. Cl. G06F 16/00 (2019.01); G06F 3/0481 (2022.01); G06F 3/0482 (2013.01); G06F 3/0483 (2013.01); G06F 3/04847 (2022.01); G06F 3/0485 (2022.01); G06F 3/04895 (2022.01); G06F 3/06 (2006.01); G06F 8/30 (2018.01); G06F 8/41 (2018.01); G06F 8/60 (2018.01); G06F 11/14 (2006.01); G06F 12/02 (2006.01); G06F 12/084 (2016.01); G06F 12/14 (2006.01); G06F 15/173 (2006.01); G06F 16/11 (2019.01); G06F 16/14 (2019.01); G06F 16/16 (2019.01); G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/242 (2019.01); G06F 16/245 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/248 (2019.01); G06F 16/25 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01); G06F 16/901 (2019.01); G06F 16/907 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); G06F 16/955 (2019.01); G06F 16/957 (2019.01); G06F 21/00 (2013.01); G06F 21/62 (2013.01); G06F 40/117 (2020.01); G06F 40/134 (2020.01); G06F 40/166 (2020.01); G06F 40/174 (2020.01); G06F 40/177 (2020.01); G06F 40/18 (2020.01); G06F 40/183 (2020.01); G06F 40/216 (2020.01); G06F 40/274 (2020.01); H04L 9/40 (2022.01); H04L 12/18 (2006.01); H04L 51/046 (2022.01); H04L 51/212 (2022.01); H04L 61/5069 (2022.01); H04L 67/00 (2022.01); H04L 67/01 (2022.01); H04L 67/1001 (2022.01); H04L 67/141 (2022.01); H04L 67/56 (2022.01); H04L 67/566 (2022.01); H04L 67/568 (2022.01); H04L 69/16 (2022.01); G06F 17/40 (2006.01); G06Q 40/04 (2012.01); H04L 67/5681 (2022.01)
CPC G06F 16/24561 (2019.01) [G06F 3/0481 (2013.01); G06F 3/0482 (2013.01); G06F 3/0483 (2013.01); G06F 3/04847 (2013.01); G06F 3/0485 (2013.01); G06F 3/04895 (2013.01); G06F 3/0605 (2013.01); G06F 3/0656 (2013.01); G06F 3/067 (2013.01); G06F 8/30 (2013.01); G06F 8/41 (2013.01); G06F 8/427 (2013.01); G06F 8/60 (2013.01); G06F 11/1451 (2013.01); G06F 11/1464 (2013.01); G06F 11/1469 (2013.01); G06F 12/0261 (2013.01); G06F 12/084 (2013.01); G06F 12/1483 (2013.01); G06F 15/17331 (2013.01); G06F 16/113 (2019.01); G06F 16/144 (2019.01); G06F 16/162 (2019.01); G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2228 (2019.01); G06F 16/2237 (2019.01); G06F 16/2246 (2019.01); G06F 16/2255 (2019.01); G06F 16/2264 (2019.01); G06F 16/2272 (2019.01); G06F 16/2282 (2019.01); G06F 16/23 (2019.01); G06F 16/2308 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2372 (2019.01); G06F 16/2379 (2019.01); G06F 16/242 (2019.01); G06F 16/2428 (2019.01); G06F 16/245 (2019.01); G06F 16/2453 (2019.01); G06F 16/24534 (2019.01); G06F 16/24535 (2019.01); G06F 16/24537 (2019.01); G06F 16/24539 (2019.01); G06F 16/2455 (2019.01); G06F 16/24553 (2019.01); G06F 16/2456 (2019.01); G06F 16/2457 (2019.01); G06F 16/24575 (2019.01); G06F 16/248 (2019.01); G06F 16/254 (2019.01); G06F 16/27 (2019.01); G06F 16/278 (2019.01); G06F 16/285 (2019.01); G06F 16/9024 (2019.01); G06F 16/907 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); G06F 16/9566 (2019.01); G06F 16/9574 (2019.01); G06F 21/00 (2013.01); G06F 21/6209 (2013.01); G06F 40/117 (2020.01); G06F 40/134 (2020.01); G06F 40/166 (2020.01); G06F 40/174 (2020.01); G06F 40/177 (2020.01); G06F 40/18 (2020.01); G06F 40/183 (2020.01); G06F 40/216 (2020.01); G06F 40/274 (2020.01); H04L 12/18 (2013.01); H04L 51/046 (2013.01); H04L 51/212 (2022.05); H04L 61/5069 (2022.05); H04L 63/101 (2013.01); H04L 63/102 (2013.01); H04L 67/01 (2022.05); H04L 67/1001 (2022.05); H04L 67/141 (2013.01); H04L 67/34 (2013.01); H04L 67/56 (2022.05); H04L 67/566 (2022.05); H04L 67/568 (2022.05); H04L 69/16 (2013.01); G06F 16/2291 (2019.01); G06F 17/40 (2013.01); G06F 2201/805 (2013.01); G06F 2201/84 (2013.01); G06F 2212/1052 (2013.01); G06F 2212/154 (2013.01); G06F 2212/163 (2013.01); G06F 2212/60 (2013.01); G06Q 40/04 (2013.01); H04L 67/5681 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more hardware processors;
an electronic computer readable data storage device coupled to the one or more hardware processors, the electronic computer readable data storage device having stored thereon software instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations for improving the functionality of computer data system query language code execution via compilation of query language constructs, the operations including:
accessing, at the one or more hardware processors, computer data system query language code stored in the electronic computer readable data storage device, the computer data system query language code including a current row value and a current data storage location value associated with a data object, wherein the current row value and the current data storage location value are constructs of a computer data system query language;
parsing, at the one or more hardware processors, the computer data system query language code into a parsed query language structure;
generating, at the one or more hardware processors, computer programming language code based on the parsed query language structure, the computer programming language code including computer programming language functions that are mapped to usages of the current row value and the current data storage location value, wherein the generated computer programming language code and the computer programming language functions are compiled;
executing, at the one or more hardware processors, the compiled computer programming language code;
determining, at the one or more hardware processors, based on execution of the compiled computer programming language code, a return data storage location value from the computer programming language functions corresponding to the current data storage location value, the return data storage location value representing a current data storage location of the data object corresponding to a query language construct at a time of execution of the compiled computer programming language code;
when one or more data sources that the data object depends on are updated, subsequently executing, at the one or more hardware processors, the compiled computer programming language code, including a portion of computer programming language code corresponding to the current data storage location, wherein the updating includes one or more of adding, modifying, deleting, or re-indexing the one or more data sources that the data object depends on; and
determining, at the one or more hardware processors, based on the subsequent execution of the compiled computer programming language code, a new return data storage location value from the computer programming language functions corresponding to the current data storage location value, the new return data storage location value representing an updated current data storage location of the data object corresponding to another query language construct at a subsequent time of execution of the compiled computer programming language code.