You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Ruben Q L (Jira)" <ji...@apache.org> on 2020/09/15 09:18:00 UTC

[jira] [Created] (CALCITE-4258) SqlToRelConverter: SELECT 1 IS [NOT] DISTINCT FROM NULL fails with AssertionError

Ruben Q L created CALCITE-4258:
----------------------------------

             Summary: SqlToRelConverter: SELECT 1 IS [NOT] DISTINCT FROM NULL fails with AssertionError
                 Key: CALCITE-4258
                 URL: https://issues.apache.org/jira/browse/CALCITE-4258
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Ruben Q L


Problem can be reproduced with the following tests (in core\src\test\resources\sql\misc.iq):
{code}
# 
SELECT 1 IS DISTINCT FROM NULL;
+--------+
| EXPR$0 |
+--------+
|  true  |
+--------+
(1 row)

!ok

# 
SELECT 1 IS NOT DISTINCT FROM NULL;
+--------+
| EXPR$0 |
+--------+
| false  |
+--------+
(1 row)

!ok
{code}

These tests fail with:
{code}
> java.lang.AssertionError: Conversion to relational algebra failed to preserve datatypes:
> validated type:
> RecordType(BOOLEAN NOT NULL EXPR$0) NOT NULL
> converted type:
> RecordType(BOOLEAN EXPR$0) NOT NULL
> rel:
> LogicalProject(EXPR$0=[null:BOOLEAN])
>   LogicalValues(tuples=[[{ 0 }]])
44a47,109
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.checkConvertedType(SqlToRelConverter.java:466)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:581)
> 	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:242)
> 	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:208)
...
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)