From 12b06f59639c397c8cf99814fb40b33a855bdb8b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 4 Aug 2014 10:01:13 +0200 Subject: [PATCH] [#3489] DefaultTransactionProvider does not call Connection.releaseSavepoint(Savepoint) after commit --- .../main/java/org/jooq/impl/DefaultTransactionProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java index 1c495a4deb..ab3c88c5c9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java @@ -122,7 +122,11 @@ public class DefaultTransactionProvider implements TransactionProvider { @Override public final void commit(TransactionContext ctx) { Stack savepoints = savepoints(ctx.configuration()); - savepoints.pop(); + Savepoint savepoint = savepoints.pop(); + + // [#3489] Explicitly release savepoints prior to commit + if (savepoint != null) + connection(ctx.configuration()).releaseSavepoint(savepoint); // This is the top-level transaction if (savepoints.isEmpty()) {