[ https://issues.apache.org/jira/browse/DERBY-6726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bernd Ruehlicke updated DERBY-6726: ----------------------------------- Attachment: derbytrig.zip NetBeans 8.2RC project with a single JUnit test showing this error when using 10.8.1.2. Replacing the jars with 10.7.1.1 will make the code working. Using any version higher than 10.8 will also fail. > NPE from trigger > ---------------- > > Key: DERBY-6726 > URL: https://issues.apache.org/jira/browse/DERBY-6726 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.10.1.1 > Reporter: Tim Dudgeon > Attachments: derbytrig.zip > > > Saw this strange exception when doing an insert to a table with a trigger > {code} > Tue Sep 02 13:39:09 BST 2014 Thread[SQLExecution,1,system] (XID = 62693), > (SESSIONID = 1), (DATABASE = > C:/Users/timbo/Documents/IJCProjects/mini-regs/Vanilla > Oracle/.config/derby-minireg-01-sep/db), (DRDAID = null), Failed Statement > is: UPDATE samples SET sample_code = 'S123456' WHERE sample_id = CAST > (org.apache.derby.iapi.db.Factory::getTriggerExecutionContext().getNewRow().getObject(1) > AS INTEGER) > java.lang.NullPointerException > at > org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getTriggerActionString(Unknown > Source) > at > org.apache.derby.iapi.sql.dictionary.TriggerDescriptor.getActionSPS(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GenericTriggerExecutor.getAction(Unknown > Source) > at > org.apache.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(Unknown > Source) > at > org.apache.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(Unknown > Source) > at > org.apache.derby.impl.sql.execute.UpdateResultSet.fireAfterTriggers(Unknown > Source) > at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown > Source) > at > org.apache.derby.impl.sql.GenericPreparedStatement.executeSubStatement(Unknown > Source) > at > org.apache.derby.impl.sql.execute.GenericTriggerExecutor.executeSPS(Unknown > Source) > at > org.apache.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(Unknown > Source) > at > org.apache.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(Unknown > Source) > at > org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(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) > {code} > The trigger definition is this: > {code} > CREATE TRIGGER samples_code_trg > AFTER INSERT ON samples > REFERENCING NEW AS newrow FOR EACH ROW MODE DB2SQL > UPDATE samples SET sample_code = 'S123456' > WHERE samples.sample_id = newrow.sample_id; > {code} > As mentioned here: > http://mail-archives.apache.org/mod_mbox/db-derby-user/201408.mbox/%3Cltq5hl$kps$1...@ger.gmane.org%3E > it could be that its caused by another AFTER UPDATE trigger that's on the > table. > Unfortunately I rebuilt all the tables and triggers and not the problem > doesn't happen, so I can't provide a test case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)