You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2018/02/23 01:02:01 UTC

[jira] [Created] (CALCITE-2190) Extend SubstitutionVisitor.splitFilter to cover different order of operands

Jesus Camacho Rodriguez created CALCITE-2190:
------------------------------------------------

             Summary: Extend SubstitutionVisitor.splitFilter to cover different order of operands
                 Key: CALCITE-2190
                 URL: https://issues.apache.org/jira/browse/CALCITE-2190
             Project: Calcite
          Issue Type: Improvement
          Components: core
            Reporter: Jesus Camacho Rodriguez
            Assignee: Jesus Camacho Rodriguez


{{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:
{code}
condition: x = 1 or y = 2
target:    y = 2 or x = 1
-> residue:   true
{code}
However, the following equivalent example fails:
{code}
condition: x = 1 or y = 2
target:    y = 2 or 1 = x
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)