You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2013/06/25 10:24:23 UTC
[jira] [Updated] (DERBY-6273) NullPointerException when using more
than one parameter in COALESCE
[ https://issues.apache.org/jira/browse/DERBY-6273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Knut Anders Hatlen updated DERBY-6273:
--------------------------------------
Attachment: derby-6273-01-a.diff
Attaching derby-6273-01-a.diff, which removes the break statement from the loop so that sets the types of all untyped parameters from context, and adds a test case that verifies that the NPE no longer happens.
All regression tests passed with the patch.
> NullPointerException when using more than one parameter in COALESCE
> -------------------------------------------------------------------
>
> Key: DERBY-6273
> URL: https://issues.apache.org/jira/browse/DERBY-6273
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.10.1.1
> Reporter: Knut Anders Hatlen
> Attachments: derby-6273-01-a.diff
>
>
> Calls to COALESCE fail with NullPointerExceptions if there are multiple ? parameters:
> ij version 10.10
> ij> connect 'jdbc:derby:memory:db;create=true';
> ij> prepare ps as 'values coalesce(?,?,1)';
> ERROR XJ001: Java exception: ': java.lang.NullPointerException'. (errorCode = 0)
> java.lang.NullPointerException
> at org.apache.derby.impl.sql.compile.ParameterNode.generateExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.CoalesceFunctionNode.generateExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.ResultColumn.generateExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.ResultColumnList.generateCore(Unknown Source)
> at org.apache.derby.impl.sql.compile.ResultColumnList.generate(Unknown Source)
> at org.apache.derby.impl.sql.compile.RowResultSetNode.generate(Unknown Source)
> at org.apache.derby.impl.sql.compile.ScrollInsensitiveResultSetNode.generate(Unknown Source)
> at org.apache.derby.impl.sql.compile.CursorNode.generate(Unknown Source)
> at org.apache.derby.impl.sql.compile.StatementNode.generate(Unknown Source)
> at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
> at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
> at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> at org.apache.derby.impl.tools.ij.ij.PrepareStatement(Unknown Source)
> at org.apache.derby.impl.tools.ij.ij.ijStatement(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
> at org.apache.derby.tools.ij.main(Unknown Source)
--
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