Operators with Two Variants for Ordered and Non-Ordered Tables
[This is preliminary documentation and subject to change.]
-
DBOP_select, DBOP_order_preserving_select
-
Subset of rows based on a predicate. The required inputs are one table and one Boolean expression. If the input table is unique, so is the output table. For the "order-preserving-select" operator, if the input is an ordered table, so is the output.
-
DBOP_project, DBOP_project_order_preserving
-
Preserve a subset of columns, possibly with some arithmetic computation within each single row. No duplicate elimination of rows implied. The two required inputs are a table and a project_list_anchor, and the output is a table. For the "order-preserving-project" operator, if the input is an ordered table, so is the output. If the provider permits, some of the ordering columns may be removed by the projection operator, such that the ordering could not be restored if it were to be lost in a subsequent operation. Only unqualified names are available above a projection level; use an intervening alias node to avoid ambiguous references.