[ https://issues.apache.org/jira/browse/DRILL-4656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Hsuan-Yi Chu updated DRILL-4656: ------------------------------------- Description: In SQL, the nullability of "is null" should always be non-nullable, regardless of the input type. Because of the short-cut here [1], the nullability is true. That shortcut is to avoid the following failure in WHERE clause: {code} WHERE booleanFunc(ANY type) {code} [1] https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/TypeInferenceUtils.java#L250 was: In SQL, the nullability of "is null" should always be non-nullable, regardless of the input type. Because of the short-cut here [1], the nullability is true. That shortcut is to avoid the following failure in WHERE clause: {code} WHERE booleanFunc(ANY) {code} Thus, instead of terminating the logic some early, Drill should have kept going down till function resolution. [1] https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/TypeInferenceUtils.java#L250 > The inferred nullability of "is null" can at times be incorrect > --------------------------------------------------------------- > > Key: DRILL-4656 > URL: https://issues.apache.org/jira/browse/DRILL-4656 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization > Reporter: Sean Hsuan-Yi Chu > > In SQL, the nullability of "is null" should always be non-nullable, > regardless of the input type. > Because of the short-cut here [1], the nullability is true. That shortcut is > to avoid the following failure in WHERE clause: > {code} > WHERE booleanFunc(ANY type) > {code} > [1] > https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/TypeInferenceUtils.java#L250 -- This message was sent by Atlassian JIRA (v6.3.4#6332)