-
21.
公开(公告)号:US12124448B2
公开(公告)日:2024-10-22
申请号:US17585146
申请日:2022-01-26
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/00 , G06F16/2453
CPC classification number: G06F16/24539
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.
-
公开(公告)号:US11921785B2
公开(公告)日:2024-03-05
申请号:US17584262
申请日:2022-01-25
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/901 , G06F16/903
CPC classification number: G06F16/9024 , G06F16/90335
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.
-
公开(公告)号:US20230252077A1
公开(公告)日:2023-08-10
申请号:US17584262
申请日:2022-01-25
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/901 , G06F16/903
CPC classification number: G06F16/9024 , G06F16/90335
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.
-
公开(公告)号:US11360976B2
公开(公告)日:2022-06-14
申请号:US16117367
申请日:2018-08-30
Applicant: Oracle International Corporation
Inventor: Matthias Brantner , Laurent Daynes , Pit Fender , Benjamin Schlegel , Anantha Kiran Kandukuri , Hassan Chafi , Eric Sedlar , Juergen Christ , Lucas Braun , Bastian Hossbach , Alexander Ulrich , Harshad Kasture
IPC: G06F16/2453 , G06F16/2455
Abstract: Herein are computerized techniques for deploying JavaScript and TypeScript stored procedures and user-defined functions into a database management system (DBMS). In an embodiment, a computer generates a SQL call specification for each subroutine of one or more subroutines encoded in a scripting language. The generating is based on a signature declaration of the subroutine. Each subroutine comprises a definition of a stored procedure or a user-defined function. The computer packages the definition and the SQL call specification of each subroutine into a single bundle file. The definition and the SQL call specification of each subroutine are deployed into a DBMS from the single bundle file. Eventually, the SQL call specification of at least one subroutine is invoked to execute the definition of the subroutine in the DBMS.
-
公开(公告)号:US20220114178A1
公开(公告)日:2022-04-14
申请号:US17162564
申请日:2021-01-29
Applicant: Oracle International Corporation
Inventor: Vlad Ioan Haprian , Mikael Gonzalez Morales , Laurent Daynes , Zhen Hua Liu , Danica Porobic , Marco Arnaboldi , Jean-Pierre Lozi , Hugo Kapp , Sungpack Hong , Shasank Kisan Chavan , Hassan Chafi
IPC: G06F16/2455 , G06F16/26 , G06F16/2453 , G06F16/248 , G06F16/22
Abstract: Techniques are provided for processing a graph query by exploiting an in-memory graph index and minimizing the number of storage accesses needed to project properties of generated paths. A predefined number of paths from a graph query runtime is accumulated, using different data structures, before executing storage accesses necessary to retrieve all properties needed. A first data structure stores all paths from the graph query runtime that hit cache(s) entirely. A second data structure stores paths that do not hit caches at any level or only a subset of the levels does. Once any of these data structures are full, result rows are produced based on the two data structures prior to extracting more paths from the graph query runtime.
-
公开(公告)号:US20210182316A1
公开(公告)日:2021-06-17
申请号:US16710740
申请日:2019-12-11
Applicant: Oracle International Corporation
Inventor: Vlad Haprian , Laurent Daynes , Shasank K. Chavan , Jean-Pierre Lozi , Vasileios Trigonakis , Sungpack Hong , Marco Arnaboldi , Ciprian Baetu
IPC: G06F16/28 , G06F16/22 , G06F16/901 , G06F16/242
Abstract: An in-memory graph query runtime is integrated inside a database management system and is capable of performing simple patter-matching queries against homogeneous graphs. The runtime efficiently combines breadth-first (BFS) and depth-first (DFS) neighbor traversal algorithms to achieve a hybrid runtime that takes the best from both sides. As a result, the hybrid runtime is able to process arbitrarily large queries with a fixed amount of memory, optimizing for memory locality.
-
公开(公告)号:US20210182285A1
公开(公告)日:2021-06-17
申请号:US16710715
申请日:2019-12-11
Applicant: Oracle International Corporation
Inventor: Vlad Haprian , Laurent Daynes , Shasank K. Chavan , Jean-Pierre Lozi , Vasileios Trigonakis , Sungpack Hong , Marco Arnaboldi , Ciprian Baetu
IPC: G06F16/2453 , G06F16/242 , G06F16/23 , G06F16/28
Abstract: An in-memory graph query runtime is integrated inside a database management system and is capable of performing simple patter-matching queries against homogeneous graphs. The runtime efficiently combines breadth-first (BFS) and depth-first (DFS) neighbor traversal algorithms to achieve a hybrid runtime that takes the best from both sides. As a result, the hybrid runtime is able to process arbitrarily large queries with a fixed amount of memory, optimizing for memory locality.
-
公开(公告)号:US10684873B2
公开(公告)日:2020-06-16
申请号:US16006668
申请日:2018-06-12
Applicant: Oracle International Corporation
Inventor: Bastian Hossbach , Jürgen Christ , Laurent Daynes , Matthias Brantner , Hassan Chafi , Christian Humer
IPC: G06F9/455 , G06F16/245 , G06F16/38
Abstract: Computer-implemented techniques described herein provide efficient data decoding using runtime specialization. In an embodiment, a method comprises a virtual machine executing a body of code of a dynamically typed language, wherein executing the body of code includes: querying a relational database, and in response to the query, receiving table metadata indicating data types of one or more columns of a first table in the relational database. In response to receiving the table metadata: for a first column of the one or more columns, generating decoding machine code to decode the first column based on the data type of the first column, and executing the decoding machine code to decode the first column of the one or more columns.
-
-
-
-
-
-
-