Abstract:
A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify the query for operations requiring special handling including handling of hierarchy views. Related apparatus, systems, methods, and articles are also described.
Abstract:
A range k-nearest neighbor search query of a database is processed by first defining an inner rectangle bounded within a circle around a center point specified by the range k-nearest neighbor search query. Thereafter, a distance to the center point is calculated for each point within the inner rectangle. Query results are returned if k or more points are within the inner rectangle. Otherwise, at least one additional query is executed. Related apparatus, systems, techniques and articles are also described.
Abstract:
According to an aspect, a system for moving a filter in a query model to ensure query semantics includes a query engine configured to obtain a query model for a query to be executed on a database. The query engine includes a query optimizer configured to instantiate the query model by merging the query with the query model. The query optimizer includes a filter mover configured to move a filter to a point within the instantiated query model such that semantics for the query within the instantiated query model is ensured.
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 calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify the query for operations requiring special handling including handling of hierarchy views. Related apparatus, systems, methods, and articles are also described.
Abstract:
Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. Related apparatus, systems, methods, and articles are also described.
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:
A select query or a data referencing a calculation scenario is received by a database server from a remote application server. The specified calculation scenario is one of a plurality of calculation scenarios and it defines a data flow model that includes one or more calculation nodes. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the specified calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set. This data set is then provided by the database server to the application server. Related apparatus, systems, techniques and articles are also described.
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.
Abstract:
Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. Related apparatus, systems, methods, and articles are also described.