[ https://issues.apache.org/jira/browse/CALCITE-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17018817#comment-17018817 ]
Vladimir Sitnikov commented on CALCITE-3746: -------------------------------------------- {quote} This will throw NPE{quote} It will not. For instance, here's a perfectly valid SQL that should not throw NPE: {code:sql} select * from emps where length(name)>0 {code} In other words, {{name is not null}} is not required to avoid NPE. > 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)