[
https://issues.apache.org/jira/browse/CALCITE-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17019255#comment-17019255
]
Chunwei Lei commented on CALCITE-3746:
--------------------------------------
Actually I kind of agree with [~pzw2018]. In our own branch, we make some
changes to retain order for both ISNOTNULL and NOT.
Because in our production enviroment, there are lots of queries like {{a is not
null and udf(a)}} in which udf cannot accept NULL as a parameter.
> RexSimplify changes the order of IS NOT NULL in And RexNode
> -----------------------------------------------------------
>
> Key: CALCITE-3746
> URL: https://issues.apache.org/jira/browse/CALCITE-3746
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.20.0
> Reporter: pengzhiwei
> Assignee: pengzhiwei
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The RexSimplify changes the order of IS NOT NULL in And RexNode.The following
> expression
> {code:java}
> a is not null and length(a) > 0{code}
> is optimazted to
> {code:java}
> length(a) > 0 and a is not null{code}
> which will affect the logic short circuit for null-test.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)