Aleksey Plekhanov created IGNITE-16107:
------------------------------------------
Summary: Calcite engine. Project and filters are not merged into
scan node correctly
Key: IGNITE-16107
URL: https://issues.apache.org/jira/browse/IGNITE-16107
Project: Ignite
Issue Type: Improvement
Reporter: Aleksey Plekhanov
{{ProjectScanMergeRule}} and {{FilterScanMergeRule}} have several issues:
# {{FilterScanMergeRule}} is not applied on the HEP phase, and due to this in
most cases {{ProjectScanMergeRule}} can't be correctly applied in the HEP phase
too. There are several useless transformations that can be avoided if
{{FilterScanMergeRule}} will apply (for example, in trivial scan with projects
and filter, new projects created below filter in {{{}trimUnusedFields{}}}, then
this projects moved above filter in {{{}FilterProjectTranposeRule{}}}, then
top-level projects and trim-projects merged in {{{}ProjectMergeRule{}}}, then
project created below filter again in {{{}ProjectFilterTranposeRule{}}}, then
it merged into scan by {{ProjectScanMergeRule}} and prevents to merge top-level
project later).
# {{ProjectScanMergeRule.INDEX_SCAN_SKIP_CORRELATED}} is useless since there
are no index scans on the HEP phase.
# Traits are created for logical nodes (in some cases not correct), but it's
redundant (only physical nodes require traits).
# {{ProjectScanMergeRule}} can't merge projects if another project is already
merged into a scan.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)