[ 
https://issues.apache.org/jira/browse/IGNITE-16107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Plekhanov updated IGNITE-16107:
---------------------------------------
    Description: 
{{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 be applied (for example, in trivial scan with 
projects and filter, new projects created below filter in 
{{{}trimUnusedFields{}}}, then these 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 traits), 
but it's redundant (only physical nodes require traits).
 # {{ProjectScanMergeRule}} can't merge projects if another project is already 
merged into a scan.

  was:
{{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.


> 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
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: calcite2-required, calcite3-required
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{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 be applied (for example, in trivial scan with 
> projects and filter, new projects created below filter in 
> {{{}trimUnusedFields{}}}, then these 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 traits), 
> 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)

Reply via email to