MULTI-FRAGMENT INDEX SCAN
    21.
    发明公开

    公开(公告)号:US20230376473A1

    公开(公告)日:2023-11-23

    申请号:US17750841

    申请日:2022-05-23

    Applicant: SAP SE

    CPC classification number: G06F16/2282 G06F16/2228 G06F16/221 G06F16/24556

    Abstract: A method for performing a multi-fragment index scan operation included in a query pipeline of a query accessing a database table may include performing an index scan on a first chunk of a first fragment of the database table and a second chunk of a second fragment of the database table. A first output of the index scan on the first chunk of the first fragment of the database table and a second output of the index scan on the second chunk of the second fragment of the database table may be merged to generate a partial result set for ingestion by a next operation in the query pipeline. The multi-fragment index scan operation may continue with index scans on subsequent chunks of the first fragment and second fragment of the database table. Related systems and computer program products are also provided.

    Transforming directed acyclic graph shaped sub plans to enable late materialization

    公开(公告)号:US11132366B2

    公开(公告)日:2021-09-28

    申请号:US16371616

    申请日:2019-04-01

    Applicant: SAP SE

    Abstract: A query is received at a database execution engine. A query plan including a sub plan structured as a directed acyclic graph is determined by the database execution engine. A set of trees characterizing the sub plan is generated by the database execution engine and using the directed acyclic graph. The set of trees include a first tree and a second tree, the first tree including at least one leaf characterizing a memory store operation and the second tree including a root characterizing a memory access operation. The set of trees are stored for use in execution of the query at run time. Related systems, methods, and articles of manufacture are also described.

    Query plan execution engine
    23.
    发明授权

    公开(公告)号:US11016973B2

    公开(公告)日:2021-05-25

    申请号:US15364026

    申请日:2016-11-29

    Applicant: SAP SE

    Abstract: In some aspects, there is provided a method for database query execution planning. In some aspects, a method may include receiving, at a database execution engine, a query; generating, by the database execution engine, a query algebra for the query, the query algebra optimized by a query optimizer at the database execution engine; generating, based on the optimized query algebra, a query plan for execution, the query plan including pre-compiled code and code generated just-in-time; and executing, by the database execution engine, at least part of the query plan including pre-compiled code and code generated just-in-time. Related systems, methods, and articles of manufacture are also described.

    QUERY PLAN GENERATION AND EXECUTION BASED ON SINGLE VALUE COLUMNS

    公开(公告)号:US20200311080A1

    公开(公告)日:2020-10-01

    申请号:US16370556

    申请日:2019-03-29

    Applicant: SAP SE

    Abstract: Aspects of the current subject matter are directed to executing queries on tables in which one or more columns contain a single value. Upon execution of a query, columns in which a single value is contained are identified, and a pre-compiled code entry containing relevant identifying information is compiled as part of a query execution plan. The query execution plan is used for subsequent query executions, alleviating the need to access the columns during the subsequent query executions that involve the columns. A fingerprint value may be used to track if changes to relevant tables occur.

    Incrementally building hash collision tables

    公开(公告)号:US10565205B2

    公开(公告)日:2020-02-18

    申请号:US15350852

    申请日:2016-11-14

    Applicant: SAP SE

    Abstract: Disclosed herein are system, method, and computer program product embodiments for incrementally building hash collision tables. In some embodiments, hashes and hash collision tables may be used to improve efficiency of relational operations, such as those used in relational databases. An embodiment operates by determining hash collisions between data entries, then storing newly determined hash values corresponding to collisions in a hash collision table. The storing can be done incrementally, without needing to rebuild hash tables or hash collision tables for all data entries.

    OBJECT-BASED TEXT SEARCHING USING GROUP SCORE EXPRESSIONS

    公开(公告)号:US20250036672A1

    公开(公告)日:2025-01-30

    申请号:US18358796

    申请日:2023-07-25

    Applicant: SAP SE

    Abstract: Methods and systems for object-based text searching using group score expressions are provided. A method may include receiving a query including a request to search specified columns of a table for a set of search terms, and a group score filter for use in filtering the table based at least on a group score associated with a plurality of groups of rows of the table, determining the group score for each of a plurality of groups of rows of the table, filtering the table based at least on the group score filter included in the query and the group score determined for each of the plurality of groups of rows of the table, and providing at least one group of rows of the plurality of groups of rows that includes at least the portion of the set of search terms.

    JIT CODE COMPILATION DURING RUNTIME BASED ON RUNTIME STATISTICS

    公开(公告)号:US20250028719A1

    公开(公告)日:2025-01-23

    申请号:US18354990

    申请日:2023-07-19

    Applicant: SAP SE

    Abstract: Systems, methods, and articles of manufacture, including computer program products, provide a system including at least one data processor and at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising: generating, by a database execution engine, a query plan including a plurality of operators; inserting, by the database execution engine, an enforce compilation operator into the query plan that includes the plurality of operators, the plurality of operators comprising a first operator, the enforce compilation operator, and a second operator; executing at least the first operator of the query plan; in response to executing the first operator, evaluating, by the database execution engine, an output of the first operator to determine whether a condition is satisfied; and in response to the condition being satisfied, triggering, by the database execution engine, a just-in-time compilation of the second operator.

    HANDLING EARLY EXIT IN A PIPELINED QUERY EXECUTION ENGINE VIA BACKWARD PROPAGATION OF EARLY EXIT INFORMATION

    公开(公告)号:US20240386017A1

    公开(公告)日:2024-11-21

    申请号:US18317852

    申请日:2023-05-15

    Applicant: SAP SE

    Abstract: In some implementations, there is provided receiving a query request including a top k query operator for query plan generation, optimization, and execution; generating a query plan that includes at least one pipeline of a plurality of operators, wherein the at least one pipeline is associated with a directed acyclic graph; detecting in the query plan a first operator in the at least one pipeline that causes an early exit; and in response to the early exit by the first operator during query execution, processing back through the directed acyclic graph to identify at least one preceding operator that should or should not run given the early exit of the first operator.

    RESULT STREAMING BY REORDERING PIPELINES
    29.
    发明公开

    公开(公告)号:US20240320220A1

    公开(公告)日:2024-09-26

    申请号:US18302242

    申请日:2023-04-18

    Applicant: SAP SE

    CPC classification number: G06F16/24545 G06F16/24568

    Abstract: In some example embodiments, there is provided a method that includes receiving a query for query plan generation and query plan optimization; detecting whether the query plan includes a restart pipeline, the restart pipeline including one or more first operators that cause a query plan restart; detecting whether the query plan includes a result pipeline, the result pipeline including one or more second operators that provide result streaming; determining whether there is a dependency between execution of the restart pipeline and execution of the result pipeline; in response to determining there is no dependency, reordering the restart pipeline in the query plan such that the restart pipeline will be executed before the result pipeline in order to enable result streaming optimization; and providing the reordered query plan for execution. Related systems and computer program products are also provided.

    GLOBAL INDEX WITH REPARTITIONING OPERATOR
    30.
    发明公开

    公开(公告)号:US20230367819A1

    公开(公告)日:2023-11-16

    申请号:US17741328

    申请日:2022-05-10

    Applicant: SAP SE

    CPC classification number: G06F16/90335

    Abstract: A global index with a repartitioning operator is provided. A method for executing a query includes receiving a query including a request to search a first table based on a first value in a first column. The method may include generating a second table by partitioning the second table based on the first column and including, in the second table, a partition identifier and a reference row identifier. The method may include pruning the second table such that a row corresponding to the first value remains in the second table. The method may include repartitioning the row to a stream based on the partition identifier. The method may include executing the query by at least searching the partition of the first table based on the stream and the row identifier of the row. Related systems and articles of manufacture are provided.

Patent Agency Ranking