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 "Kathey Marsden (JIRA)" <ji...@apache.org> on 2011/08/17 22:03:27 UTC

[jira] [Resolved] (DERBY-4779) NPE while inserting into a table which has a generated column and an insert trigger

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

Kathey Marsden resolved DERBY-4779.
-----------------------------------

    Resolution: Fixed

> NPE while inserting into a table which has a generated column and an insert trigger
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-4779
>                 URL: https://issues.apache.org/jira/browse/DERBY-4779
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.3.0, 10.6.1.0, 10.7.1.1
>            Reporter: Rick Hillegas
>            Assignee: Siddharth Srivastava
>              Labels: derby_triage10_8
>             Fix For: 10.9.0.0
>
>         Attachments: d4779.diff, d4779.diff, test1.diff, testreport.txt
>
>
> The following script generates an NPE on the concluding insert:
> connect 'jdbc:derby:memory:dummy;create=true';
> create function getRegion( v int )
> returns varchar( 20 )
> language java parameter style java deterministic no sql
> external name 'java.lang.Integer.toString'
> ;
> create table orders
> (
>     orderID bigint primary key,
>     salesPrice int not null,
>     region generated always as ( getRegion( salesPrice ) )
> )
> ;
> create table dummy( a int );
> create trigger newOrderTrigger
> after insert on orders
> for each row
> insert into dummy( a ) values ( 1 )
> ;
> insert into orders( orderID, salesPrice ) values ( 1, 2 )
> ;
> ------------------------
> Here is the NPE:
> java.lang.NullPointerException
> 	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.objectifyStreams(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
> 	at org.apache.derby.impl.tools.ij.Main.main(Unknown Source)
> 	at org.apache.derby.tools.ij.main(Unknown Source)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira