I'll try to put something together later on this week. It's possible I had a configuration problem because one part of my project was referencing 1.4 while another part was referencing version 1.3. I've since fixed this problem and rebuilt. We'll see if I run into this exception again.
Gili On Saturday, September 13, 2014 3:17:33 AM UTC-4, Noel Grandin wrote: > > Can you construct a standalone test case for this? Because I tried and my > test case worked for me. > > On Saturday, 13 September 2014, Gili <[email protected] > <javascript:>> wrote: > >> Hi Noel, >> >> I don't think this issue is fixed yet. I just reproduced it in H2 >> 1.4.181. Here is the stacktrace: >> >> org.h2.jdbc.JdbcSQLException: Commit or rollback is not allowed within a >> trigger; SQL statement: >> delete from PARTICIPANT >> where PARTICIPANT.LAST_SEEN_TIME < ? [90058-181] >> at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) >> at org.h2.message.DbException.get(DbException.java:179) >> at org.h2.message.DbException.get(DbException.java:155) >> at org.h2.message.DbException.get(DbException.java:144) >> at org.h2.engine.Session.checkCommitRollback(Session.java:541) >> at org.h2.engine.Session.rollback(Session.java:563) >> at org.h2.command.Command.executeUpdate(Command.java:276) >> at >> org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:157) >> at >> org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:143) >> at >> com.vtlr.backend.database.permission.CascadeToPermission.fire(CascadeToPermission.java:80) >> at org.h2.schema.TriggerObject.fireRow(TriggerObject.java:203) >> at org.h2.table.Table.fireRow(Table.java:934) >> at org.h2.table.Table.fireAfterRow(Table.java:924) >> at org.h2.command.dml.Delete.update(Delete.java:100) >> at org.h2.command.CommandContainer.update(CommandContainer.java:78) >> at org.h2.command.Command.executeUpdate(Command.java:254) >> at >> org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:157) >> at >> org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:143) >> at >> com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:205) >> at >> com.mysema.query.sql.dml.SQLDeleteClause.execute(SQLDeleteClause.java:159) >> ... 9 common frames omitted >> >> Gili >> >> On Friday, September 12, 2014 3:49:43 AM UTC-4, Noel Grandin wrote: >>> >>> This has been fixed in a newer version of H2. >>> >>> On 2014-09-12 04:39 AM, Gili wrote: >>> > Hi, >>> > >>> > I am getting "Commit or rollback is not allowed within a trigger" >>> under H2 1.3.176 but I am not actually rolling >>> > anything back. As far as I understand the following sequence of events >>> occurs: >>> > >>> > 1. Java code invokes: delete from PARTICIPANT where >>> PARTICIPANT.LAST_SEEN_TIME < ? >>> > 2. A "after delete" trigger runs, invoking: delete from PERMISSION >>> where ID = ? (at CascadeToPermission.java:80) >>> > 3. This triggers a rollback (looking at the H2 source code, caused by >>> a deadlock) >>> > 4. H2 throws the following exception: >>> > >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "H2 Database" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/h2-database. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
