[
https://issues.apache.org/jira/browse/CALCITE-7374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yu Xu resolved CALCITE-7374.
----------------------------
Resolution: Fixed
> 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
> Priority: Major
> Labels: pull-request-available
> 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)