You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Kevin Risden (JIRA)" <ji...@apache.org> on 2017/03/02 20:35:45 UTC

[jira] [Commented] (CALCITE-1668) RexUtil.simplify handle literal comparison simplification

    [ https://issues.apache.org/jira/browse/CALCITE-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15892942#comment-15892942 ] 

Kevin Risden commented on CALCITE-1668:
---------------------------------------

From [~julianhyde]:

We have support for this in planner rules -- I’m pretty sure that ReduceExpressionsRule.FILTER_INSTANCE will convert ‘where 1 = 0’ to ‘where false’, then PruneEmptyRules.FILTER_INSTANCE will make the Filter disappear altogether — but arguably it could happen in RexUtil.simplify also.

The purpose of RexUtil.simplify is to simplify (only) patterns that are commonly occurring, easy to recognize, and will produce a quick win in terms of the size of the RelNode/RexNode tree. I don’t know yet whether this passes that threshold. Can you log a JIRA case for this and we can discuss further?

By the way, CALCITE-1638 is related. It changed the result of a test that was doing ‘where 1 = 1’.

> RexUtil.simplify handle literal comparison simplification
> ---------------------------------------------------------
>
>                 Key: CALCITE-1668
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1668
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Kevin Risden
>            Assignee: Julian Hyde
>            Priority: Minor
>
> From the calcite-dev mailing list:
> Calcite doesn't seem to optimize away the literal comparison literal case
> with RexUtil.simplify. In my understanding any literal comparison literal
> results in a simple TRUE/FALSE result.
> I'm not sure this is valid in the general case, but I put together a simple
> example of doing this on the RexUtil simplifyCall.
> https://github.com/apache/calcite/pull/376
> Reference:
> http://mail-archives.apache.org/mod_mbox/calcite-dev/201702.mbox/%3CCAJU9nmidm%3DiXNG46YhSthXaBG0CGfmtPraxU9MxEOxnCTTLa_A%40mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)