Patents by Inventor Andrew Witkowski
Andrew Witkowski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 12242487Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query that includes a bounded recursive pattern query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries that include bounded recursive patterns on top of the relational engine by avoiding any change in the existing SQL engine.Type: GrantFiled: October 13, 2022Date of Patent: March 4, 2025Assignee: Oracle International CorporationInventors: Vlad Ioan Haprian, Lei Sheng, Laurent Daynes, Zhen Hua Liu, Hugo Kapp, Marco Arnaboldi, Andrew Witkowski, Sungpack Hong, Hassan Chafi
-
Publication number: 20250036623Abstract: A method and one or more non-transitory storage media for materialized view-based query rewrite are provided. A plurality of materialized views is created based on a fact table and a dimension table. Each materialized view is based on a join between the dimension table and the fact table based on a respective foreign key column of the fact table. A database management system executes a query against the fact table and the dimension table, the query requiring one or more joins between the dimension table and the fact table based on one or more foreign key columns. For each given join of the one or more joins, responsive to the given join satisfying one or more rewrite criteria, the query is rewritten to replace the join between the dimension table and the fact table with a join between a respective materialized view for the given join and the fact table.Type: ApplicationFiled: July 27, 2023Publication date: January 30, 2025Inventors: Mihajlo Tekic, Praveen Tupati Jaganath Kumar, Murali Thiyagarajah, Andrew Witkowski
-
Patent number: 12135719Abstract: In one technique, a definition of a materialized view is identified. Based on the definition, multiple candidate partitioning schemes are identified. A query is generated that indicates one or more of the candidate partitioning schemes. The query is then executed, where executing the query results in one or more partition counts, each corresponding to a different candidate partitioning scheme of the one or more candidate partitioning schemes. Based on the one or more partition counts, a candidate partitioning scheme is selected from among the plurality of candidate partitioning schemes. The materialized view is automatically partitioned based on the candidate partitioning scheme.Type: GrantFiled: August 10, 2022Date of Patent: November 5, 2024Assignee: Oracle International CorporationInventors: Rafi Ahmed, Randall Bello, Andrew Witkowski
-
Patent number: 12124448Abstract: An RDBMS specifies a graph algorithm function (GAF) that takes a graph object as input and returns a logical graph object as output. GAFs are used within graph queries to compute temporary and output properties (“GAF-computed properties”), which are live for the duration of the query cursor execution. GAF-computed output properties are accessible in the enclosing graph pattern matching query as though they were part of the input graph object of the GAF. Temporary cursor-duration tables are generated for the query cursor during compilation of a graph query that includes a GAF, and are used to store the GAF-computed properties. Each temporary table corresponds to one of the primary tables of the input graph, and includes, as a foreign key, primary key information from the corresponding primary table.Type: GrantFiled: January 26, 2022Date of Patent: October 22, 2024Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Publication number: 20240289330Abstract: A mechanism is provided for performing a group-by pushdown operation or a distinct pushdown operation on a query. The query comprises an outer query block containing a view with a union-all operator, and the outer query block comprises an outer query statement referencing one or more columns of the union-all view and a group-by statement or a distinct keyword. Performing the group-by pushdown operation or the distinct pushdown operation on the query comprises modifying at least a given branch of the union-all view to include a distinct keyword in a query statement of the given branch or a group-by clause that groups results of the given branch by the one or more columns of the table of the given branch.Type: ApplicationFiled: February 23, 2023Publication date: August 29, 2024Inventors: RAFI AHMED, ANDREW WITKOWSKI
-
Patent number: 11989178Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.Type: GrantFiled: October 26, 2020Date of Patent: May 21, 2024Assignee: Oracle International CorporationInventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Publication number: 20240126763Abstract: Disclosed herein are techniques for storing, within a database system, metadata that indicates an intended usage (IU). Once created, an IU may be assigned to a column to (a) indicate how the column is intended to be used, and (b) affect how the database server behaves when database operations involve values from the column. The IU assigned to a column supplements, but does not replace, the datatype definition for the column. Each IU may have an IU-bundle. The IU-bundle of an IU indicates how the database server behaves with respect to any column that is assigned the IU. For example, the IU-bundle may indicate constraints that the database server must validate during operations on values from columns assigned to the IU. Techniques are also described for implementing multi-column IUs and flexible IUs.Type: ApplicationFiled: January 19, 2023Publication date: April 18, 2024Inventors: Tirthankar Lahiri, Juan R. Loaiza, Beda Christoph Hammerschmidt, Andrew Witkowski, Sankar Subramanian, Sabina Petride, Ajit Mylavarapu, Gerald Venzl
-
Publication number: 20240126764Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query that includes a bounded recursive pattern query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries that include bounded recursive patterns on top of the relational engine by avoiding any change in the existing SQL engine.Type: ApplicationFiled: October 13, 2022Publication date: April 18, 2024Inventors: VLAD IOAN HAPRIAN, LEI SHENG, LAURENT DAYNES, ZHEN HUA LIU, HUGO KAPP, MARCO ARNABOLDI, ANDREW WITKOWSKI, SUNGPACK HONG, HASSAN CHAFI
-
Publication number: 20240111790Abstract: Techniques are provided for optimizing storage of database records in segments using sub-segments. A base segment is a container used for storing records that belong to a database object. A database management system receives a request to load, into the database object, a first set of records that are in a first state. In response to receiving the request, the system generates a new sub-segment, which is a container that is separate from the base segment. The system stores the first set of records, in their first state, within the sub-segment. The system then monitors one or more characteristics of the database system. In response to the one or more characteristics satisfying criteria, the system performs a migration of one or more records of the first set of records from the sub-segment to the base segment. During the migration, the system converts the one or more records from the first state to a second state and stores the one or more records, in their second state, in the base segment.Type: ApplicationFiled: September 26, 2023Publication date: April 4, 2024Inventors: Teck Hua Lee, Hariharan Lakshmanan, Sujatha Muthulingam, Andrew Witkowski, Shasank Kisan Chavan, You Jung Kim, Sooyeon Jo, Yu Chieh Fu, Vicente Hernandez Jimenez, Tirthankar Lahiri
-
Patent number: 11921785Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.Type: GrantFiled: January 25, 2022Date of Patent: March 5, 2024Assignee: Oracle International CorporationInventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Publication number: 20240054131Abstract: Techniques for automatically partitioning materialized views are provided. In one technique, a definition of a materialized view is identified. Based on the definition, multiple candidate partitioning schemes are identified. A query is generated that indicates one or more of the candidate partitioning schemes. The query is then executed, where executing the query results in one or more partition counts, each corresponding to a different candidate partitioning scheme of the one or more candidate partitioning schemes. Based on the one or more partition counts, a candidate partitioning scheme is selected from among the plurality of candidate partitioning schemes. The materialized view is automatically partitioned based on the candidate partitioning scheme.Type: ApplicationFiled: August 10, 2022Publication date: February 15, 2024Inventors: Rafi Ahmed, Randall Bello, Andrew Witkowski
-
Patent number: 11797534Abstract: Embodiments generate random walks through a directed graph that is represented in a relational database table. Each row of the graph table represents a directed edge in the graph and includes a source vertex and a destination vertex. Each row is further augmented to (a) indicate the number of outbound edges starting from the destination vertex in the row and (b) include an identifier that distinguishes the edge from other outbound edges starting from the same source vertex. An SQL query may be executed on the augmented graph table. Starting from a source vertex (starting vertex or the destination vertex of the previously selected hop) the query randomly selects a row of the graph table representing one of the outbound edges from the source vertex and adds the selected outbound edge as a row in a random walk table that represents the next hop in the random walk.Type: GrantFiled: March 29, 2022Date of Patent: October 24, 2023Assignee: Oracle International CorporationInventors: Mohamed Ziauddin, Zhe Wu, Andrew Witkowski
-
Publication number: 20230267120Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) that takes a graph object as input and returns a logical graph object as output. GAFs are used within graph queries to compute temporary and output properties (“GAF-computed properties”), which are live for the duration of the query cursor execution. GAF-computed output properties are accessible in the enclosing graph pattern matching query as though they were part of the input graph object of the GAF. Temporary cursor-duration tables are generated for the query cursor during compilation of a graph query that includes a GAF, and are used to store the GAF-computed properties. Each temporary table corresponds to one of the primary tables of the input graph, and includes, as a foreign key, primary key information from the corresponding primary table. Thus, the input graph of a GAF may be a “heterogeneous” graph.Type: ApplicationFiled: January 26, 2022Publication date: August 24, 2023Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Publication number: 20230252077Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.Type: ApplicationFiled: January 25, 2022Publication date: August 10, 2023Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Patent number: 11615107Abstract: Definitions of material views are automatically generated. In general, Automated MV generation identifies a set of candidates MVs by examining a working set of query blocks. Once the candidates are formed, the candidate MVs are further evaluated to calculate a benefit to the candidate MVs. An improved approach for generating a candidate set of MVs is described herein. The improved approach is referred to as the extended covering subexpression technique (ECSE). Under ECSE, various relationships between join sets other than strict equivalence are used to generate new resultant join sets. Such relationships include subset, intersection, superset, and union, which shall be described in further detail below. In some cases, relationships among resultant join sets and initial join sets are considered to generate new resultant join sets. The final resultant join sets are then used to form a candidate set of MVs.Type: GrantFiled: July 26, 2019Date of Patent: March 28, 2023Assignee: Oracle International CorporationInventors: Rafi Ahmed, Randall Bello, Andrew Witkowski
-
Patent number: 11567932Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.Type: GrantFiled: October 26, 2020Date of Patent: January 31, 2023Assignee: Oracle International CorporationInventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Patent number: 11507579Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.Type: GrantFiled: October 26, 2020Date of Patent: November 22, 2022Assignee: Oracle International CorporationInventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
-
Patent number: 11442933Abstract: An approach for implementing function semantic based partition-wise SQL execution and partition pruning in a data processing system is provided. The system receives a query directed to a range-partitioned table and determines if operation key(s) of the query include(s) function(s) over the table partitioning key(s). If so, the system obtains a set of values corresponding to each partition by evaluating the function(s) on a low bound and/or a high bound table partitioning key value corresponding to the partition. The system may then compare the sets of values corresponding to different partitions and determine whether to aggregate results obtained by executing the query over the partitions based on the comparison. The system may also determine whether to prune any partitions from processing based on a set of correlations between the set of values for each partition and predicate(s) of the query including function(s) over the table partitioning key(s).Type: GrantFiled: September 21, 2017Date of Patent: September 13, 2022Assignee: Oracle International CorporationInventors: Srikanth Bellamkonda, Andrew Witkowski, Manish Pratap Singh, Madhuri Kandepi
-
Publication number: 20220222254Abstract: Embodiments generate random walks through a directed graph that is represented in a relational database table. Each row of the graph table represents a directed edge in the graph and includes a source vertex and a destination vertex. Each row is further augmented to (a) indicate the number of outbound edges starting from the destination vertex in the row and (b) include an identifier that distinguishes the edge from other outbound edges starting from the same source vertex. An SQL query may be executed on the augmented graph table. Starting from a source vertex (starting vertex or the destination vertex of the previously selected hop) the query randomly selects a row of the graph table representing one of the outbound edges from the source vertex and adds the selected outbound edge as a row in a random walk table that represents the next hop in the random walk.Type: ApplicationFiled: March 29, 2022Publication date: July 14, 2022Applicant: Oracle International CorporationInventors: Mohamed Ziauddin, Zhe Wu, Andrew Witkowski
-
Patent number: 11379476Abstract: Techniques are described for storing and maintaining, in a materialized view, bitmap data that represents a bitmap of each possible distinct value of an expression and rewriting a query for a count of distinct values of the expression using the materialized view. The materialized view contains bitmap data that represents a bitmap of each possible distinct value of a first expression, and aggregate values of additional expressions, and is stored in memory or on disk by a database system. The database system receives a query that requests a number of distinct values, of the first expression, and an aggregate value for an additional expression. In response, the database system, rewrites the query to: compute the number of distinct values by counting the bits in the bitmap data of the materialized view that are set to the first value, and obtains the aggregate value for the additional expression in the materialized view.Type: GrantFiled: October 15, 2019Date of Patent: July 5, 2022Assignee: Oracle International CorporationInventors: Sabina Petride, Mohamed Ziauddin, Praveen T. J. Kumar, Huagang Li, Andrew Witkowski, Sankar Subramanian