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)