NPE in JBitSet
--------------

                 Key: DERBY-4549
                 URL: https://issues.apache.org/jira/browse/DERBY-4549
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions: 10.5.3.0
            Reporter: Murat Knecht



A NPE occurs at org.apache.derby.iapi.util.JBitSet.or().

A NPE occured at the same location before: 
http://issues.apache.org/jira/browse/DERBY-1574
The bug was confirmed by Bryan Pendleton to show in the HEAD as well: 
http://mail-archives.apache.org/mod_mbox/db-derby-user/201002.mbox/%[email protected]%3e



To reproduce:
----------------------

CREATE TABLE ABC (ID int PRIMARY KEY NOT NULL);
CREATE TABLE DEF (ID int PRIMARY KEY NOT NULL);

SELECT * 
FROM ABC t1
WHERE (SELECT DISTINCT t2.ID FROM DEF t2) 
        IN (SELECT t3.ID FROM DEF t3) 

----------------------

Leads to 

error message: 
Error: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: 
java.lang.NullPointerExceptionXJ001.U
SQLState:  XJ001
ErrorCode: -1

Stacktrace:
java.lang.NullPointerException
        at org.apache.derby.iapi.util.JBitSet.or(Unknown Source)
        at org.apache.derby.impl.sql.compile.OptimizerImpl.<init>(Unknown 
Source)
        at org.apache.derby.impl.sql.compile.Level2OptimizerImpl.<init>(Unknown 
Source)
        at 
org.apache.derby.impl.sql.compile.Level2OptimizerFactoryImpl.getOptimizerImpl(Unknown
 Source)
        at 
org.apache.derby.impl.sql.compile.OptimizerFactoryImpl.getOptimizer(Unknown 
Source)
        at org.apache.derby.impl.sql.compile.ResultSetNode.getOptimizer(Unknown 
Source)
        at org.apache.derby.impl.sql.compile.SelectNode.optimize(Unknown Source)
        at org.apache.derby.impl.sql.compile.SubqueryNode.optimize(Unknown 
Source)
        at org.apache.derby.impl.sql.compile.SubqueryList.optimize(Unknown 
Source)
        at org.apache.derby.impl.sql.compile.SelectNode.optimize(Unknown Source)
        at 
org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(Unknown 
Source)
        at 
org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(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.drda.DRDAStatement.prepare(Unknown Source)
        at org.apache.derby.impl.drda.DRDAStatement.explicitPrepare(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parsePRPSQLSTT(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Cleanup action completed

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to