[
https://issues.apache.org/jira/browse/DERBY-6027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dag H. Wanvik updated DERBY-6027:
---------------------------------
Attachment: derby-6027.stat
derby-6027.diff
Attaching a patch for this issue. In OderByColumn#isReferedColByNum we add a
check that the expression is a numeric constant (we already know it is
constant) before we try to check if it is an integer. This makes int(1) return
false (correct) instead of causing an NPE in the CastNode.
Added test cases to lang/orderby.sql. Running regressions.
> ORDER BY a cast expression gives NPE
> ------------------------------------
>
> Key: DERBY-6027
> URL: https://issues.apache.org/jira/browse/DERBY-6027
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0,
> 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1,
> 10.7.1.1, 10.8.1.2, 10.8.2.2, 10.9.1.0
> Reporter: Dag H. Wanvik
> Priority: Minor
> Attachments: derby-6027.diff, derby-6027.stat
>
>
> The following gives a NPE:
> ij> values 1,2 order by int(1);
> or
> ij> select * from sysibm.sysdummy1 order by int(1);
> The NPE happens when pulling up the order by expression seemingly due to a
> compiler phase problem:
> Caused by: java.lang.NullPointerException
> at
> org.apache.derby.impl.sql.compile.CastNode.getConstantValueAsObject(CastNode.java:851)
> at
> org.apache.derby.impl.sql.compile.OrderByColumn.isReferedColByNum(OrderByColumn.java:466)
> at
> org.apache.derby.impl.sql.compile.OrderByColumn.pullUpOrderByColumn(OrderByColumn.java:403)
> at
> org.apache.derby.impl.sql.compile.OrderByList.pullUpOrderByColumns(OrderByList.java:195)
> at
> org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:254)
> The variable sourceCTI is (still) null; being set by CastNode#
> bindCastNodeOnly, which presumably hasn't yet been run.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira