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 "Mamta A. Satoor (JIRA)" <ji...@apache.org> on 2014/09/17 15:55:34 UTC

[jira] [Resolved] (DERBY-6740) NullPointerException when inserting value into generated by default as identity using DEFAULT and specific value at the same time

     [ https://issues.apache.org/jira/browse/DERBY-6740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mamta A. Satoor resolved DERBY-6740.
------------------------------------
    Resolution: Duplicate

> NullPointerException when inserting value into generated by default as identity using DEFAULT and specific value at the same time
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6740
>                 URL: https://issues.apache.org/jira/browse/DERBY-6740
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.2.0, 10.10.1.1
>            Reporter: Mamta A. Satoor
>            Priority: Minor
>
> I came across following NPE in 10.1 and 10.2 while writing upgrade tests for DERBY-6414 in trunk(10.12 codeline). 
> Basically, in 10.1 and 10,2, an insert into a table with generated by default as identity column works when user is trying to insert Default OR specific value. But trying to insert both the values within the same insert statement gives NPE. This behavior is only for 10.1 and 10.2. 
> Version 10.0 did not support generated by default as identity columns. Version 10.3 and above do not give a NPE.
> Since the NPE is in such old releases of Derby and they do not show themselves in 10.3 and higher, we probably don't care about this jira but I wanted to have a place holder for the behavior.
>  
> Following is the behavior in ij
> ij>create table t2_6414(a int,c int generated by default as identity,d char(3),e char(5));
> ij> 0 rows inserted/updated/deleted
> ij>  insert into t2_6414(a,d,e,c) values(1,'aaa','aaaaa',1);
> 1 row inserted/updated/deleted
> ij> insert into t2_6414(a,d,e,c) values(2,'bbb','bbbbb',default);
> 1 row inserted/updated/deleted
> ij> insert into t2_6414(a,d,e,c) values(1,'aaa','aaaaa',1),(2,'bbb','bbbbb',default);
> ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
> java.lang.NullPointerException
>         at org.apache.derby.impl.sql.compile.ResultColumnList.generateCore(ResultColumnList.java:1113)
>         at org.apache.derby.impl.sql.compile.ResultColumnList.generate(ResultColumnList.java:973)
>         at org.apache.derby.impl.sql.compile.RowResultSetNode.generate(RowResultSetNode.java:691)
>         at org.apache.derby.impl.sql.compile.UnionNode.generate(UnionNode.java:603)
>         at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(ProjectRestrictNode.java:1441)
>         at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(ProjectRestrictNode.java:1303)
>         at org.apache.derby.impl.sql.compile.NormalizeResultSetNode.generate(NormalizeResultSetNode.java:123)
>         at org.apache.derby.impl.sql.compile.InsertNode.generate(InsertNode.java:773)
>         at org.apache.derby.impl.sql.compile.StatementNode.generate(StatementNode.java:233)
>         at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:478)
>         at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:119)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:745)
>         at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:568)
>         at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:517)
>         at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:323)
>         at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:529)
>         at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:371)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:269)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:204)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:170)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:56)
>         at org.apache.derby.tools.ij.main(ij.java:71)



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