You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2014/09/15 17:15:33 UTC

[jira] [Created] (DERBY-6738) NPE when using NULLIF together with LEFT JOIN

Knut Anders Hatlen created DERBY-6738:
-----------------------------------------

             Summary: NPE when using NULLIF together with LEFT JOIN
                 Key: DERBY-6738
                 URL: https://issues.apache.org/jira/browse/DERBY-6738
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions: 10.11.1.1, 10.10.2.0, 10.9.1.0, 10.8.3.0, 10.7.1.1, 10.6.2.1, 10.5.3.0, 10.4.2.0, 10.3.3.0, 10.2.2.0
            Reporter: Knut Anders Hatlen


If the test case for DERBY-4594 is changed to use NULLIF instead of COALESCE, we get a NullPointerException.

{code:sql}
create table d4594_t1 (a1 int);
create table d4594_t2 (a2 int);
insert into d4594_t1 values 1;
-- this works fine
select 1 from d4594_t1 join d4594_t2 on 1=1 where nullif(a2, 0) <> 1;
-- this fails with NPE
select 1 from d4594_t1 left join d4594_t2 on 1=1 where nullif(a2, 0) <> 1;
{code}

Full stack trace on trunk:

{noformat}
java.lang.NullPointerException
        at org.apache.derby.iapi.types.SQLInteger.equals(SQLInteger.java:414)
        at org.apache.derby.exe.aced8940a7x0148x79ddxe38cx000006b33ad02.e2(Unknown Source)
        at org.apache.derby.impl.services.reflect.DirectCall.invoke(ReflectGeneratedClass.java:105)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:302)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java:287)
        at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:488)
        at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:448)
        at org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:392)
        at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:388)
        at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:344)
        at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:247)
        at org.apache.derby.tools.JDBCDisplayUtil.DisplayResults(JDBCDisplayUtil.java:235)
        at org.apache.derby.impl.tools.ij.utilMain.displayResult(utilMain.java:456)
        at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:530)
        at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:371)
        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:247)
        at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
        at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
        at org.apache.derby.tools.ij.main(ij.java:59)
        at org.apache.derby.iapi.tools.run.main(run.java:53)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)