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: 12524406
    Abstract: 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: Grant
    Filed: July 27, 2023
    Date of Patent: January 13, 2026
    Assignee: Oracle International Corporation
    Inventors: Mihajlo Tekic, Praveen Tupati Jaganath Kumar, Murali Thiyagarajah, Andrew Witkowski
  • Publication number: 20250384046
    Abstract: A query can be received for data items that have a plurality of attributes that include a first attribute and a second attribute that has a hierarchical relationship with the first attribute. A first sort of the data items can be performed based on a first set of ordering keys including the first attribute and the second attribute. A second sort of the data items can be performed based on a second set of one or more ordering keys, the second set being a proper subset of the first set. Based on results of the second sort, a subset of results of the first sort can be selected. The subset of results can be returned in response to the query.
    Type: Application
    Filed: August 19, 2025
    Publication date: December 18, 2025
    Inventors: Shasank Kisan Chavan, Tirthankar Lahiri, Aurosish Mishra, Angela Amor, Yuan Zhou, Andrew Witkowski
  • Publication number: 20250371038
    Abstract: A query is received for stored data items that have a plurality of attributes that include a first attribute and a second attribute that has a hierarchical relationship with the first attribute. A first sort of the stored data items is performed based on a first set of ordering keys that include the first attribute and the second attribute. A second sort of the stored data items is performed based on a second set of one or more ordering keys, the second set being a proper subset of the first set and including the second attribute as an ordering key. First pointers to the stored data items are inserted into a first sorted structure of the second sort of the stored data items. Second pointers to the stored data items are inserted into a second sorted structure of the second sort of the stored data items.
    Type: Application
    Filed: August 19, 2025
    Publication date: December 4, 2025
    Inventors: Yuan Zhou, Angela Amor, Andrew Witkowski, Aurosish Mishra, Shasank Kisan Chavan, Tirthankar Lahiri
  • Patent number: 12450255
    Abstract: 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: Grant
    Filed: September 26, 2023
    Date of Patent: October 21, 2025
    Assignee: Oracle International Corporation
    Inventors: 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
  • Publication number: 20250307249
    Abstract: A breadth first search (BFS) algorithm is provided that uses out-of-core external storage in a memory constrained system. Memory resources are used as long as they are available and external storage is used when necessary due to memory pressure. The BFS algorithm uses a disk-spilling hash-table (DSH) as the visited set and disk-spilling queues (DSQs) as the BFS frontier queue. To get the most out of the DSH, subsequent inserts and lookups must happen in the same DSH partition. To ensure that consecutive lookups happen in the same DSH partition, the BFS frontier queue is partitioned in a manner similar to the DSH partitions.
    Type: Application
    Filed: May 6, 2025
    Publication date: October 2, 2025
    Inventors: Hugo Kapp, Laurent Phillipe Daynes, Vlad Ioan Haprian, Ioannis Alagiannis, Hassan Chafi, Sungpack Hong, Andrew Witkowski, Angela Amor, Huagang Li
  • Publication number: 20250307243
    Abstract: A relational database system compiles and executes unbounded regular path queries (RPQs). A compilation stage splits the unbounded RPQ query in three portions: the prefix, the recursion, and the suffix. The compilation stage generates a relational execution tree. The recursive portion of the query is compiled using a specialized algorithm via an inline graph algorithm function (GAF) framework. The compilation stage generates a GAF node in the relational execution tree having a left child that is the specialized algorithm and a right child that is the suffix portion. The compilation stage generates a NESTED LOOPS join node in the relational execution tree having a left child that is the prefix portion and a right child that is the GAF node. The suffix portion uses results of the specialized algorithm. The values from the prefix portion and the suffix portion are concatenated by using the current semantics of NESTED LOOPS join.
    Type: Application
    Filed: March 29, 2024
    Publication date: October 2, 2025
    Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Ioannis Alagiannis, Lei Sheng, Vasileios Trigonakis, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Patent number: 12326866
    Abstract: A breadth first search (BFS) algorithm is provided that uses out-of-core external storage in a memory constrained system. Memory resources are used as long as they are available and external storage is used when necessary due to memory pressure. The BFS algorithm uses a disk-spilling hash-table (DSH) as the visited set and disk-spilling queues (DSQs) as the BFS frontier queue. To get the most out of the DSH, subsequent inserts and lookups must happen in the same DSH partition. To ensure that consecutive lookups happen in the same DSH partition, the BFS frontier queue is partitioned in a manner similar to the DSH partitions.
    Type: Grant
    Filed: March 29, 2024
    Date of Patent: June 10, 2025
    Assignee: Oracle International Corporation
    Inventors: Hugo Kapp, Laurent Phillipe Daynes, Vlad Ioan Haprian, Ioannis Alagiannis, Hassan Chafi, Sungpack Hong, Andrew Witkowski, Angela Amor, Huagang Li
  • Patent number: 12321353
    Abstract: 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: Grant
    Filed: January 19, 2023
    Date of Patent: June 3, 2025
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Juan R. Loaiza, Beda Christoph Hammerschmidt, Andrew Witkowski, Sankar Subramanian, Sabina Petride, Ajit Mylavarapu, Gerald Venzl
  • Patent number: 12242487
    Abstract: 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: Grant
    Filed: October 13, 2022
    Date of Patent: March 4, 2025
    Assignee: Oracle International Corporation
    Inventors: Vlad Ioan Haprian, Lei Sheng, Laurent Daynes, Zhen Hua Liu, Hugo Kapp, Marco Arnaboldi, Andrew Witkowski, Sungpack Hong, Hassan Chafi
  • Publication number: 20250036623
    Abstract: 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: Application
    Filed: July 27, 2023
    Publication date: January 30, 2025
    Inventors: Mihajlo Tekic, Praveen Tupati Jaganath Kumar, Murali Thiyagarajah, Andrew Witkowski
  • Patent number: 12135719
    Abstract: 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: Grant
    Filed: August 10, 2022
    Date of Patent: November 5, 2024
    Assignee: Oracle International Corporation
    Inventors: Rafi Ahmed, Randall Bello, Andrew Witkowski
  • Patent number: 12124448
    Abstract: 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: Grant
    Filed: January 26, 2022
    Date of Patent: October 22, 2024
    Inventors: 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: 20240289330
    Abstract: 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: Application
    Filed: February 23, 2023
    Publication date: August 29, 2024
    Inventors: RAFI AHMED, ANDREW WITKOWSKI
  • Patent number: 11989178
    Abstract: 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: Grant
    Filed: October 26, 2020
    Date of Patent: May 21, 2024
    Assignee: Oracle International Corporation
    Inventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Publication number: 20240126764
    Abstract: 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: Application
    Filed: October 13, 2022
    Publication date: April 18, 2024
    Inventors: VLAD IOAN HAPRIAN, LEI SHENG, LAURENT DAYNES, ZHEN HUA LIU, HUGO KAPP, MARCO ARNABOLDI, ANDREW WITKOWSKI, SUNGPACK HONG, HASSAN CHAFI
  • Publication number: 20240126763
    Abstract: 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: Application
    Filed: January 19, 2023
    Publication date: April 18, 2024
    Inventors: Tirthankar Lahiri, Juan R. Loaiza, Beda Christoph Hammerschmidt, Andrew Witkowski, Sankar Subramanian, Sabina Petride, Ajit Mylavarapu, Gerald Venzl
  • Publication number: 20240111790
    Abstract: 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: Application
    Filed: September 26, 2023
    Publication date: April 4, 2024
    Inventors: 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: 11921785
    Abstract: 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: Grant
    Filed: January 25, 2022
    Date of Patent: March 5, 2024
    Assignee: Oracle International Corporation
    Inventors: 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: 20240054131
    Abstract: 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: Application
    Filed: August 10, 2022
    Publication date: February 15, 2024
    Inventors: Rafi Ahmed, Randall Bello, Andrew Witkowski
  • Patent number: 11797534
    Abstract: 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: Grant
    Filed: March 29, 2022
    Date of Patent: October 24, 2023
    Assignee: Oracle International Corporation
    Inventors: Mohamed Ziauddin, Zhe Wu, Andrew Witkowski