I have logged CALCITE-739 to track this issue.

Jesús


On 5/19/15, 10:48 AM, "Jesus Camachorodriguez"
<[email protected]> wrote:

>Thanks Julian.
>
>Let me check what the methods that you pointed to can do.
>Once I check them, I will create a JIRA with a small enumeration of cases
>that could be covered by a possible extension to those methods.
>
>Jesús
>
>
>
>
>From:  Julian Hyde <[email protected]>
>Date:  Monday, May 18, 2015 at 7:51 PM
>To:  Jesus Camachorodriguez <[email protected]>
>Cc:  "[email protected]" <[email protected]>
>Subject:  Re: HIVE-9069
>
>
>The methods that may help are RexUtil.toCnf and RexUtil.pullFactors.
>
>The latter is not as strict, therefore does not cause a combinatorial
>explosion in the size of the tree, so is more useful in practice.  They
>are tested in RexProgramTest.testCnf and testPullFactors[1] .
>
>These methods canonize at the term level (i.e. ³a or b or a² becomes ³a or
>b² but does not attempt to recognize terms that are equivalent). Neither
>of them exploit the symmetry of Œ=Œ (i.e. a = b iff b = a). It would make
>sense to normalize comparisons
> between field references & literals so that the lower field reference is
>always on the left. So, "$6 = $3" becomes ³$3 = $6²; ³$6 > $3² becomes ³$3
>< $6². And ³literal <= $5² becomes ³$5 >= literal². This would change a
>few test logs but would not damage performance,
> and would improve a few plans.
>
>Cab you please log a jira case with what you think would be useful even if
>you don¹t intend to write a patch.
>
>Julian
>
>[1] 
>https://github.com/apache/incubator-calcite/blob/master/core/src/test/java
>/
>org/apache/calcite/test/RexProgramTest.java#L562
>
>On May 18, 2015, at 11:02 AM, Jesus Camachorodriguez
><[email protected]> wrote:
>
>
>Julian,
>
>This is the JIRA case for pushing the expressions from filters down:
>https://issues.apache.org/jira/browse/HIVE-9069
>
>
>
><snip>
>
>
>Let me know if you think a Calcite method could be applied to simplify
>that predicate, or I could extend a method myself to cover those cases.
>
>Thanks,
>Jesús
>
>

Reply via email to