DYNAMIC OPERATOR PRUNING BASED ON STATE DEPENDENCIES AND INTERMEDIATE RESULTS

    公开(公告)号:US20250028722A1

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

    申请号:US18761828

    申请日:2024-07-02

    Applicant: SAP SE

    Inventor: Paul Willems

    Abstract: In some implementations, there is provided a method including generating a query plan including in a first pipeline a first join operator and in a second pipeline a second join operator; executing at least a portion of the query plan including the first pipeline and the first join operator; detecting, based on the at least one operator usage state and the at least one operator pruning condition, an empty state object shared between the first join operator and the second join operator in the second pipeline; and processing, by the at least one operator pruning condition, an indication of the empty state object, wherein the least one operator pruning condition is associated with the second join operator and includes at least a first rule to mark the second join operator for pruning.

    CUSTOM TABLE SCAN FOR TOP K QUERIES

    公开(公告)号:US20250028718A1

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

    申请号:US18355318

    申请日:2023-07-19

    Applicant: SAP SE

    Abstract: In some implementations, there is provided a method that includes receiving a query request including a top k query operator for query plan generation, optimization, and execution, wherein k defines a threshold limit of query results for the top k query operator; inserting into a query plan a check operator associated with the top k query operator; in response to executing the query plan, checking, by the check operator, whether an early exit occurs due to the top k query operator reaching the threshold limit; in response to the early exit occurring due to the top k query operator reaching the threshold limit, stopping processing, by the check operator, including opening of another fragment of a database table; and in response to the early exit not occurring, allowing, by the check operator, the opening of the other fragment of the database table.

    DYNAMICALLY GENERATED OPERATIONS IN A PARALLEL PROCESSING FRAMEWORK

    公开(公告)号:US20230359620A1

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

    申请号:US17735493

    申请日:2022-05-03

    Applicant: SAP SE

    Abstract: A method for executing a dynamically generated operation in a parallel processing framework may include executing the dynamically generated operation sequentially for a threshold quantity of times before initiating a compilation operation to generate precompiled code for the dynamically generated operation. Upon generating the precompiled code, execution of the precompiled code may be parallelized by determining, based on a quantity of time required to execute the precompiled code on a portion of a dataset, a task size. The execution of the precompiled code may be divided, based on the task size, into one or more tasks. Moreover, a corresponding quantity of worker threads may be allocated to perform the one or more tasks in parallel. Related methods and computer program products are also provided.

    Query execution pipelining with shared states for query operators

    公开(公告)号:US10885032B2

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

    申请号:US15363531

    申请日:2016-11-29

    Applicant: SAP SE

    Abstract: A system for query execution and planning with pipelining and shared states for query operators is provided. In some implementations, the system performs operations comprising identifying a plurality of operators for executing a query and generating an indication that a first operator and a second operator share information when the first operator and the second operator require the same data which is not present when the query is received. The operations can further include executing the first operator to generate at least a portion of the data, storing the data in a location based upon the indication, and providing, based upon the indication, the stored data for the second operator. Related systems, methods, and articles of manufacture are also described.

    RELEASE OF LATCHES FOR GARBAGE COLLECTION
    6.
    发明申请

    公开(公告)号:US20200311069A1

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

    申请号:US16371609

    申请日:2019-04-01

    Applicant: SAP SE

    Abstract: A query is received at a database execution engine. The query is executed by the database execution engine, the executing including executing one or more threads that operate on versions of data of the delta fragment; acquiring and releasing, by a first thread, a latch on a first version of the data of the delta fragment, the releasing is performed prior to the first thread entering a wait state; and reclaiming the first version of the data of the delta fragment from memory and during execution of the query. Related systems, methods, and articles of manufacture are also described.

    Optimal offset pushdown for multipart sorting

    公开(公告)号:US10789249B2

    公开(公告)日:2020-09-29

    申请号:US15603282

    申请日:2017-05-23

    Applicant: SAP SE

    Abstract: In some aspects, a method, computer program product, and system are provided for query optimization. In some implementations, there may be provided a method including detecting a select query as a candidate for optimization, the select query including an order by, an offset value, and a limit value; determining, in response to the detecting, a modified offset value as the difference between the offset value and a size of a smaller dataset; and performing the select query to form a result set, the select query executed based on at least the modified offset value. Related systems, methods, and articles of manufacture are also described.

    Query Execution Pipelining with Pump Operators

    公开(公告)号:US20180150514A1

    公开(公告)日:2018-05-31

    申请号:US15363545

    申请日:2016-11-29

    Applicant: SAP SE

    CPC classification number: G06F16/24542 G06F16/24539 G06F16/24549

    Abstract: A system for query execution and planning with pipelining and pump operators is provided. In some implementations, the system performs operations comprising identifying a plurality of operators for executing a query, the plurality of operators including a first operator and a second operator, generating a pump operator when the first operator comprises a table scan operator, and/or generating a query plan for execution of the query, the query plan comprising the pump operator and the second operator. The operations can further include executing the pump operator to at least retrieve a portion of a database table, generate a first data portion based on the portion of the database table, and provide the first data portion for the second operator. Related systems, methods, and articles of manufacture are also described.

    JIT code compilation during runtime based on runtime statistics

    公开(公告)号:US12265537B2

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

    申请号: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.

    Global index with repartitioning operator

    公开(公告)号:US11977582B2

    公开(公告)日:2024-05-07

    申请号: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