Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 49527C7E1 for ; Thu, 7 Aug 2014 15:56:13 +0000 (UTC) Received: (qmail 52975 invoked by uid 500); 7 Aug 2014 15:56:12 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 52887 invoked by uid 500); 7 Aug 2014 15:56:12 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 52572 invoked by uid 99); 7 Aug 2014 15:56:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Aug 2014 15:56:12 +0000 Date: Thu, 7 Aug 2014 15:56:12 +0000 (UTC) From: "Dag H. Wanvik (JIRA)" To: derby-dev@db.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (DERBY-6688) NPE (or sane: ASSERT failure) with ROW_NUMBER in some subqueries MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/DERBY-6688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dag H. Wanvik updated DERBY-6688: --------------------------------- Affects Version/s: (was: 10.11.1.1) > NPE (or sane: ASSERT failure) with ROW_NUMBER in some subqueries > ---------------------------------------------------------------- > > Key: DERBY-6688 > URL: https://issues.apache.org/jira/browse/DERBY-6688 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.10.2.0 > Reporter: Dag H. Wanvik > Assignee: Dag H. Wanvik > Fix For: 10.11.1.1, 10.12.0.0 > > Attachments: derby-6688-b.diff, derby-6688-b.status, derby-6688.diff > > > This subquery usage works: > {code} > select * from (select x from t order by row_number() over () fetch first 1 row only) tt; > {code} > but this one leads to NPE in insane mode, or a Sanity ASSERT failure in sane mode: > {code} > select * from t where x = (select x from t order by row_number() over () fetch first row only); > {code} > leading to this error: > {code} > Exception in thread "main" java.sql.SQLException: Java exception: ': java.lang.NullPointerException'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source) > at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) > at derby6565.Derby6565.main(Derby6565.java:33) > Caused by: ERROR XJ001: Java exception: ': java.lang.NullPointerException'. > at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) > at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source) > ... 11 more > Caused by: java.lang.NullPointerException > at org.apache.derby.impl.sql.compile.UnaryOperatorNode.getReceiverInterfaceName(Unknown Source) > at org.apache.derby.impl.sql.compile.UnaryOperatorNode.generateExpression(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumn.generateExpression(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumnList.generateEvaluatedRow(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumnList.generateCore(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.OrderByList.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.OrderByNode.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.RowCountNode.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.SubqueryNode.generateExpression(Unknown Source) > at org.apache.derby.impl.sql.compile.BinaryOperatorNode.generateExpression(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumn.generateExpression(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumnList.generateEvaluatedRow(Unknown Source) > at org.apache.derby.impl.sql.compile.ResultColumnList.generateCore(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(Unknown Source) > at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(Unknown Source) > at org.apache.derby.impl.sql.compile.UpdateNode.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) > ... 3 more > {code} > The immediate problem is that the field *#operand* is null. -- This message was sent by Atlassian JIRA (v6.2#6252)