This is reproduced by org.hibernate.test.hql.BulkManipulationTest using PostgresPlusDialect.
On the second multi-table delete in a transaction, the following exception is thrown:
org.hibernate.exception.GenericJDBCException: could not execute statement at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207) at org.hibernate.hql.spi.id.TableBasedDeleteHandlerImpl.execute(TableBasedDeleteHandlerImpl.java:122) at org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor.execute(MultiTableDeleteExecutor.java:44) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:429) at org.hibernate.engine.query.spi.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:370) at org.hibernate.internal.SessionImpl.executeUpdate(SessionImpl.java:1290) at org.hibernate.internal.QueryImpl.executeUpdate(QueryImpl.java:102) at org.hibernate.test.hql.BulkManipulationTest$TestData.cleanup(BulkManipulationTest.java:1655) at org.hibernate.test.hql.BulkManipulationTest$TestData.access$200(BulkManipulationTest.java:1545) at org.hibernate.test.hql.BulkManipulationTest.testBooleanHandling(BulkManipulationTest.java:183) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) Caused by: com.edb.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block at com.edb.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2663) at com.edb.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2279) at com.edb.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:545) at com.edb.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:610) at com.edb.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:438) at com.edb.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:384) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) ... 21 more
|