db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Satheesh Bandaram <sathe...@Sourcery.Org>
Subject Re: [jira] Created: (DERBY-939) NullPointerException at ResultSet.close() time for simple query using UNION and INTERSECT
Date Fri, 10 Feb 2006 21:14:56 GMT
This Exception didn't happen for me... Should RuntimeStatistics be
turned on first to see this error? Or may be you had logQueryPlan or
logStatementText on? If you can reproduce the problem without either of
these debug options, I would say the priority should be raised to CRITICAL.

Satheesh

A B (JIRA) wrote:

>NullPointerException at ResultSet.close() time for simple query using UNION and INTERSECT
>-----------------------------------------------------------------------------------------
>
>         Key: DERBY-939
>         URL: http://issues.apache.org/jira/browse/DERBY-939
>     Project: Derby
>        Type: Bug
>    Versions: 10.2.0.0    
> Environment: Derby 10.2 trunk -- embedded and server modes
>    Reporter: A B
>
>
>If I attempt to execute the following simple query using UNION and INTERSECT, Derby will
return the correct results and then, _after_ returning the results, will throw a NullPointerException.
 This error does *NOT* occur for Derby 10.1, hence I'm marking it as "Major" since it seems
like a regression.
>
>348600
>
>To reproduce:
>
>create table t1 (i int);
>create table t2 (j int);
>create table t3 (a int);
>
>ij> select i from t1 union (select j from t2 intersect select a from t3);
>1
>-----------
>
>0 rows selected
>ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
>
>If I add data, the query will return the correct results,  but then throw the NPE.
>
>insert into t1 values 1, 2, 3, 4, 5;
>insert into t2 values 2, 4, 6, 8, 10;
>insert into t3 values 2, 3, 4;
>
>ij> select i from t1 union (select j from t2 intersect select a from t3);
>1
>-----------
>1
>2
>3
>4
>5
>
>5 rows selected
>ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
>
>The embedded and client stack traces are shown below. Both suggest that the problem occurs
during the close of the result set.
>
>-- Embedded --
>
>java.lang.NullPointerException
>	at org.apache.derby.impl.sql.execute.rts.RealUnionResultSetStatistics.getStatementExecutionPlanText(RealUnionResultSetStatistics.java:107)
>	at org.apache.derby.impl.sql.execute.rts.RealSortStatistics.getStatementExecutionPlanText(RealSortStatistics.java:124)
>	at org.apache.derby.impl.sql.execute.rts.RunTimeStatisticsImpl.getStatementExecutionPlanText(RunTimeStatisticsImpl.java:293)
>	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.finishAndRTS(BasicNoPutResultSetImpl.java:633)
>	at org.apache.derby.impl.sql.execute.SortResultSet.finish(SortResultSet.java:479)
>	at org.apache.derby.impl.jdbc.EmbedResultSet.close(EmbedResultSet.java:533)
>	at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:272)
>	at org.apache.derby.tools.JDBCDisplayUtil.DisplayResults(JDBCDisplayUtil.java:260)
>	at org.apache.derby.impl.tools.ij.utilMain.displayResult(utilMain.java:381)
>	at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:434)
>	at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:310)
>	at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>	at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>	at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>	at org.apache.derby.tools.ij.main(ij.java:60)
>
>-- Client --
>
>We get an "actual code point does not match expected code point", but further down the
stack is the NPE:
>
>ERROR XJ001: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerException
>¶¶XJ001.U
>java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerException¶¶XJ001.U
>        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:280)
>        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:295)
>        at org.apache.derby.client.am.ResultSet.close(ResultSet.java:412)
>        at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:272)
>        at org.apache.derby.tools.JDBCDisplayUtil.DisplayResults(JDBCDisplayUtil.java:260)
>        at org.apache.derby.impl.tools.ij.utilMain.displayResult(utilMain.java:381)
>        at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:434)
>        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:310)
>        at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>        at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>        at org.apache.derby.tools.ij.main(ij.java:60)
>
>  
>


Mime
View raw message