[ https://issues.apache.org/jira/browse/CALCITE-5632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Kim closed CALCITE-5632. ------------------------------- Resolution: Not A Problem > Query with ORDER BY and null values NullPointer exception > --------------------------------------------------------- > > Key: CALCITE-5632 > URL: https://issues.apache.org/jira/browse/CALCITE-5632 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.34.0 > Reporter: Kirill Kim > Priority: Major > Attachments: image-2023-04-09-11-49-05-991.png, > image-2023-04-09-11-50-18-796.png > > > I try to perform query over over some table data in Java using Calcite. I try > to execute query: > {code:java} > select distinct tbl.col1 , tbl.col2 from infoset.SUBEKT tbl order by col1 asc > nulls last , col2 asc nulls last{code} > And the following exception occurs > {code:java} > java.lang.NullPointerException at > org.apache.calcite.runtime.Utilities.compare(Utilities.java:202) > at Baz$2.compare(ANONYMOUS.java:15) > at Baz$2.compare(ANONYMOUS.java:27) > at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:376) > at java.util.TreeMap.getEntry(TreeMap.java:345) > at java.util.TreeMap.get(TreeMap.java:278) > at > org.apache.calcite.linq4j.EnumerableDefaults.toLookup_(EnumerableDefaults.java:3608) > > at > org.apache.calcite.linq4j.EnumerableDefaults$14.enumerator(EnumerableDefaults.java:2660) > > at > org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33) > > at org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:90) > at > org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:186) > > at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:64) > at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:43) > at > org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:669) > > at > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:636) > > at > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677) > > at > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157) > > at > org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228) > > at > ru.spi2.modules.infosetquery.InfosetQueryPlugin.executeQuery(InfosetQueryPlugin.java:101) > {code} > The error occurs because col1 has some rows with null values. If I order only > by col1 or col2, all works well. -- This message was sent by Atlassian Jira (v8.20.10#820010)