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

Extend SubstitutionVisitor.splitFilter to cover different order of operands

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.16.0
    • core
    • None

    Description

      SubstitutionVisitor.splitFilter does structural comparison to identify relevant predicates. The method could sort the operands for some expressions in a deterministic way to maximize possible matches.

      For instance, currently this example yields correct results:

      condition: x = 1 or y = 2
      target:    y = 2 or x = 1
      -> residue:   true
      

      However, the following equivalent example fails:

      condition: x = 1 or y = 2
      target:    y = 2 or 1 = x
      

      Attachments

        Activity

          People

            jcamacho Jesús Camacho Rodríguez
            jcamacho Jesús Camacho Rodríguez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: