[ https://issues.apache.org/jira/browse/CALCITE-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17036653#comment-17036653 ]
Chunwei Lei commented on CALCITE-3746: -------------------------------------- the SQL standard says it is implementation-dependent whether expressions are actually evaluated from left to right when the precedence is not otherwise determined by the Formats or by parentheses[1]. {code:java} Subclause 6.3.3.3, “Rule evaluation order”: a) It is implementation-dependent whether expressions are actually evaluated from left to right when the precedence is not otherwise determined by the Formats or by parentheses. b) If evaluation of the inessential parts of an expression or search condition would cause an exception condition to be raised, then it is implementation-dependent whether or not that condition is raised. {code} > 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: Chunwei Lei > 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)