Abstract:
A query is received by a database server from a remote application server that is associated with a calculation scenario that defines a data flow model including one or more calculation nodes including stacked multiproviders. Subsequently, the database server instantiates the calculation scenario and afterwards optimizes the calculation scenario. As part of the optimization, the calculation scenario is optimized by merging the two multiproviders. Thereafter, the operations defined by the calculation nodes of the optimized calculation scenario can be executed to result in a responsive data set. Next, the data set is provided to the application server by the database server.
Abstract:
Methods and apparatus, including computer program products, are provided for union node pruning. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; processing a calculation scenario including a union node; accessing a pruning table associated with the union node, wherein the pruning table includes semantic information describing the first input from the first data source node and the second input from the second data source node; determining whether the first data source node and the second data source node can be pruned by at least comparing the semantic information to at least one filter of the query; and pruning, based on a result of the determining, at least one the first data source node or the second data source node. Related apparatus, systems, methods, and articles are also described.
Abstract:
A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that each specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify a higher-level programming language query that stacks the calculation scenario on top of another semantic node based calculation scenario for operations that call for processing of non-processable key figures. Non-processable key figures being key figures that produce incorrect semantics when processed by higher-level calculation scenarios. Related apparatus, systems, methods, and articles are also described.
Abstract:
A stacked calculation view, defining a calculation scenario, having calculation views associated with high-level programming logic which can include complex analytical privileges. Resolving, using a high-level programming logic layer, a calculation view having associated high-level programming logic with the next calculation view in the stack to generate a sub-query. Converting the sub-query into a format readable by a database system and separating the part of the sub-query provided by the high-level programming logic from the sub-query to form a high-level programming logic filter in the database system format. Merge the high-level programming logic filter into the calculation scenario to provide a calculation scenario including high-level programming logic information in the database system format.
Abstract:
A database server receives a request to perform a primary query on a table of a database. A first table query can be generated and can include a starting row identifier, ROW A, and a number of rows, n, for generating a data chunk from the table of the database. Multiple table queries can be performed each having a different starting row identifier and each defining the number of rows forming a data chunk. The primary query can be extended with the first table query in preparation for performing the primary query on the first data chunk.
Abstract:
A query that requests a filter attribute is received by a database server from a remote application server that is associated with at least one calculation scenario that includes calculation nodes having relational operators and calculation nodes having non-relational operators. The calculation nodes having relational or non-relational operators are optimized by a calculation engine model optimizer and the calculation nodes having relational operators are further optimized by a relational database optimizer. Thereafter, the operations defined by the optimized calculation nodes can be executed to result in a responsive data set. Next, the data set is provided to the application server by the database server.