Mihai Budiu created CALCITE-7598:
------------------------------------
Summary: Query with HAVING empno BETWEEN NULL AND NULL crashes the
compiler
Key: CALCITE-7598
URL: https://issues.apache.org/jira/browse/CALCITE-7598
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.42.0
Reporter: Mihai Budiu
Assignee: Mihai Budiu
This is another instance of CALCITE-7070
Here is the offending query:
{code:java}
SELECT DISTINCT empno FROM emp GROUP BY empno HAVING empno BETWEEN NULL AND
NULL{code}
And here is the top of the stack trace:
{code:java}
java.lang.AssertionError: Comparison with NULL in pulledUpPredicates
at org.apache.calcite.util.Litmus.lambda$static$0(Litmus.java:31)
at org.apache.calcite.util.Litmus.check(Litmus.java:76)
at
org.apache.calcite.plan.RelOptPredicateList.<init>(RelOptPredicateList.java:134)
at
org.apache.calcite.plan.RelOptPredicateList.of(RelOptPredicateList.java:206)
at
org.apache.calcite.plan.RelOptPredicateList.of(RelOptPredicateList.java:159)
at
org.apache.calcite.rel.metadata.RelMdPredicates.getPredicates(RelMdPredicates.java:327)
at
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates_$(Unknown
Source)
at
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates(Unknown
Source)
at
org.apache.calcite.rel.metadata.RelMetadataQuery.getPulledUpPredicates(RelMetadataQuery.java:918)
at
org.apache.calcite.rel.metadata.RelMdColumnUniqueness.decorateWithConstantColumnsFromPredicates(RelMdColumnUniqueness.java:514)
at
org.apache.calcite.rel.metadata.RelMdColumnUniqueness.areColumnsUnique(RelMdColumnUniqueness.java:110)
at
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_ColumnUniquenessHandler.areColumnsUnique_$(Unknown
Source)
at
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_ColumnUniquenessHandler.areColumnsUnique(Unknown
Source)
at
org.apache.calcite.rel.metadata.RelMetadataQuery.areColumnsUnique(RelMetadataQuery.java:619)
at
org.apache.calcite.rel.metadata.RelMetadataQuery.areColumnsUnique(RelMetadataQuery.java:599)
at org.apache.calcite.tools.RelBuilder.alreadyUnique(RelBuilder.java:2732)
at org.apache.calcite.tools.RelBuilder.aggregate_(RelBuilder.java:2517)
at org.apache.calcite.tools.RelBuilder.aggregate(RelBuilder.java:2478)
at
org.apache.calcite.sql2rel.SqlToRelConverter.createAggregate(SqlToRelConverter.java:3939)
at
org.apache.calcite.sql2rel.SqlToRelConverter.distinctify(SqlToRelConverter.java:978)
{code}
I expect that the fix will be similar to CALCITE-7070
--
This message was sent by Atlassian Jira
(v8.20.10#820010)