Using Derby 10.10.1.1 I'm seeing strange behaviour when doing a series
of inserts that have triggers associated.
About 2000 rows get inserted fine, then it blows up completely.
The derby.log file contains stuff like this:
Database Class Loader started -
derby.database.classpath='APP.ExtraFunctions'
Loaded chemaxon.misc.derby.functions.MiniregFunctions from database
jar "APP"."EXTRAFUNCTIONS"
Fri Aug 29 15:37:56 BST 2014 Thread[Default RequestProcessor,1,system]
(XID = 448992), (SESSIONID = 1), (DATABASE =
C:\Users\timbo\Documents\IJCProjects\mini-regs\Vanilla
Oracle/.config/derby-minireg-11-jun/db), (DRDAID = null), Cleanup
action starting
Fri Aug 29 15:37:56 BST 2014 Thread[Default RequestProcessor,1,system]
(XID = 448992), (SESSIONID = 1), (DATABASE = C:\Users\ ... ), (DRDAID
= null), Failed Statement is: INSERT INTO APP.COMPOUNDS ( ... ) VALUES
(?,?,?,?,?,?,?,CURRENT_TIMESTAMP,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
with 31 parameters begin parameter #1: BLOB:Length=1658 :end ...
java.lang.NullPointerException
at
org.apache.derby.impl.sql.execute.InternalTriggerExecutionContext.cleanup(Unknown
Source)
at
org.apache.derby.impl.sql.execute.TriggerEventActivator.cleanup(Unknown Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.cleanUp(Unknown Source)
at
org.apache.derby.impl.sql.conn.GenericStatementContext.cleanupOnError(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.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
...
(somethings cut out for brevity)
The trigger involved uses a custom java function that's been added to
the DB, so the real problem might well be there, but the stack trace
doesn't give much of a pointer.
Any suggestions for where to look?
Tim