Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-3837

AntiJoin with empty right input can always be transformed as its left input

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.22.0
    • Fix Version/s: 1.23.0
    • Component/s: core

      Description

      CALCITE-3783 fixed PruneEmptyRules#JOIN_RIGHT_INSTANCE for join type ANTI:

      Join(Scan(Emp), Empty, ANTI) becomes Scan(Emp)
      

      However, it performs this transformation only in case of anti equi-join (in case of non-equi, no transformation is made).
      Re-considering this, I believe this is a mistake, and the transformation can always be performed, independently of the join condition (equi / non-equi, it does not matter).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rubenql Ruben Q L
                Reporter:
                rubenql Ruben Q L
              • 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 - 20m
                  20m