Zhen Chen created CALCITE-7374:
----------------------------------

             Summary: NULLS LAST throws ClassCastException when sorting arrays
                 Key: CALCITE-7374
                 URL: https://issues.apache.org/jira/browse/CALCITE-7374
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.41.0
            Reporter: Zhen Chen
            Assignee: Zhen Chen
             Fix For: 1.42.0


The following SQL will throw an error when executed in a Quidem test.
{code:java}
select * from
(values
    (2, array[null, 3]),
    (3, array[3, 4]),
    (1, array[1, 2]),
    (4, array[4, 5]),
    (5, cast(null as integer array))) as t(id, arr)
order by arr desc nulls last;
!ok {code}
Error message:

> java.sql.SQLException: Error while executing SQL "select * from
> (values
>     (2, array[null, 3]),
>     (3, array[3, 4]),
>     (1, array[1, 2]),
>     (4, array[4, 5]),
>     (5, cast(null as integer array))) as t(id, arr)
> order by arr desc nulls last": class java.util.ArrayList cannot be cast to 
> class java.lang.Comparable (java.util.ArrayList and java.lang.Comparable are 
> in module java.base of loader 'bootstrap')
>     at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>     at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>     at 
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164)
>     at 
> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228)
>     at net.hydromatic.quidem.Quidem.checkResult(Quidem.java:317)
>     at net.hydromatic.quidem.Quidem.access$2600(Quidem.java:54)
>     at net.hydromatic.quidem.Quidem$ContextImpl.checkResult(Quidem.java:1778)
>     at 
> net.hydromatic.quidem.Quidem$CheckResultCommand.execute(Quidem.java:985)
>     at net.hydromatic.quidem.Quidem$CompositeCommand.execute(Quidem.java:1522)
>     at net.hydromatic.quidem.Quidem.execute(Quidem.java:204)
>     at org.apache.calcite.test.QuidemTest.checkRun(QuidemTest.java:350)
>     at org.apache.calcite.test.QuidemTest.test(QuidemTest.java:532)
>     at org.apache.calcite.test.CoreQuidemTest2.main(CoreQuidemTest2.java:38)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to