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

Assert failure (sane) or NullPointerException (insane) when attempting to GROUP BY expression containing scalar subquery

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 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
    • Fix Version/s: 10.10.2.1, 10.11.1.1
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      The following is not caught by the error checking (or maybe it is supposed to work?):

      select sum from t group by j + (select j from t where i=1)

      java.sql.SQLException: Java exception: 'ASSERT FAILED dummySubqueryList.size() is expected to be 0: org.apache.derby.shared.common.sanity.AssertFailure'.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
      ... 16 more
      Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED dummySubqueryList.size() is expected to be 0
      at org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:120)
      at org.apache.derby.impl.sql.compile.GroupByList.bindGroupByColumns(GroupByList.java:220)
      at org.apache.derby.impl.sql.compile.SelectNode.bindExpressions(SelectNode.java:629)
      at org.apache.derby.impl.sql.compile.DMLStatementNode.bindExpressions(DMLStatementNode.java:227)
      at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java:140)
      at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:249)
      at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:319)
      at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:88)
      at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:824)
      at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:606)

        Attachments

        1. d4403-1a.diff
          4 kB
          Knut Anders Hatlen

          Issue Links

            Activity

              People

              • Assignee:
                knutanders Knut Anders Hatlen
                Reporter:
                dagw Dag H. Wanvik
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: