Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-16107

Calcite engine. Project and filters are not merged into scan node correctly

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      ProjectScanMergeRule and FilterScanMergeRule have several issues:

      1. 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).
      2. ProjectScanMergeRule.INDEX_SCAN_SKIP_CORRELATED is useless since there are no index scans on the HEP phase.
      3. Traits are created for logical nodes (in some cases, not correct traits), but it's redundant (only physical nodes require traits).
      4. ProjectScanMergeRule can't merge projects if another project is already merged into a scan.

      Attachments

        Issue Links

          Activity

            People

              alex_pl Aleksey Plekhanov
              alex_pl Aleksey Plekhanov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m