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)

Reply via email to