commit | c2407f59c32d1690d16b641d556bb27f8f1783ac | [log] [tgz] |
---|---|---|
author | Benchao Li <libenchao@gmail.com> | Sun May 22 19:42:24 2022 +0800 |
committer | Stamatis Zampetakis <zabetak@gmail.com> | Tue Oct 04 12:29:35 2022 +0200 |
tree | 91d9e04c5f1b41cba7417d400d069cf920e51eda | |
parent | 3a38ebf40f6dfc1170ba3d3acc5d8e1f234ed45c [diff] |
[CALCITE-1045][CALCITE-5127] Support correlation variables in project To some extend correlation in project was already supported even before this change. However, the fact that the correlation variables were not explicitly present (and returned by the operator) creates problems cause we cannot safely deduce if a column/field is used and thus we may wrongly remove those fields when using the RelFieldTrimmer, when merging projections, etc.; see queries and discussion under the respective JIRAs. The addition of correlation variables in project also aligns the code with Filter, Join; the latter explicitly set correlation variables. Co-authored-by: korlov42 <korlov@gridgain.com> Close apache/calcite#2813 Close apache/calcite#2623
Apache Calcite is a dynamic data management framework.
It contains many of the pieces that comprise a typical database management system but omits the storage primitives. It provides an industry standard SQL parser and validator, a customisable optimizer with pluggable rules and cost functions, logical and physical algebraic operators, various transformation algorithms from SQL to algebra (and the opposite), and many adapters for executing SQL queries over Cassandra, Druid, Elasticsearch, MongoDB, Kafka, and others, with minimal configuration.
For more details, see the home page.