[
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)