Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.36.0
-
None
Description
Example query:
WITH MyCTE AS ( SELECT column1, column2, column3, column4, column5, column6 FROM ( VALUES ('value1', 10, 5.0, 'data1', 'info1', 'test1'), ('value2', 20, 4.0, 'data2', 'info2', 'test2'), ('value3', 30, 3.0, 'data3', 'info3', 'test3'), ('value4', 40, 2.0, 'data4', 'info4', 'test4'), ('value5', 50, 1.0, 'data5', 'info5', 'test5') ) AS t(column1, column2, column3, column4, column5, column6) ) SELECT * FROM MyCTE QUALIFY RANK() OVER (ORDER BY column3) = 1
And exception snippet:
Caused by: java.lang.ClassCastException: class org.apache.calcite.rex.RexInputRef cannot be cast to class java.lang.Comparable (org.apache.calcite.rex.RexInputRef is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @257f30f7; java.lang.Comparable is in module java.base of loader 'bootstrap') at org.apache.calcite.runtime.FlatLists$ComparableListImpl.get(FlatLists.java:1319) at org.apache.calcite.runtime.FlatLists$ComparableListImpl.get(FlatLists.java:1309) at java.base/java.util.AbstractList$Itr.next(AbstractList.java:373)
Either removing one of the columns or the QUALIFY filter results in a successful query.