Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-6273

NullPointerException when using more than one parameter in COALESCE

    XMLWordPrintableJSON

    Details

    • Urgency:
      Normal
    • Issue & fix info:
      Repro attached

      Description

      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)

        Attachments

        1. derby-6273-01-a.diff
          3 kB
          Knut Anders Hatlen

          Issue Links

            Activity

              People

              • Assignee:
                knutanders Knut Anders Hatlen
                Reporter:
                knutanders Knut Anders Hatlen
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: