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.

    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.

    HEAPSORT IN A PARALLEL PROCESSING FRAMEWORK
    10.
    发明公开

    公开(公告)号:US20230394055A1

    公开(公告)日:2023-12-07

    申请号:US18453605

    申请日:2023-08-22

    Applicant: SAP SE

    CPC classification number: G06F16/248 G06F16/23

    Abstract: A method for performing a parallelized heapsort operation may include updating, by a first worker thread, a first buffer while a second worker thread updates a second buffer in parallel. The first worker thread may update the first buffer by adding, to the first buffer, elements from a first partition of a dataset. The second worker thread may update the second buffer by adding, to the second buffer, elements from a second partition of the dataset. Upon the first buffer reaching a threshold size, the first worker thread may acquire a lock for the first worker thread to update a heap based on the first buffer while the second worker thread is prevented from updating the heap based on the second buffer. A result of a top k query comprising a k quantity of smallest elements from the dataset may be generated based on the heap.

Patent Agency Ranking