From 2716c3a9e98ae4b4d3eea681bfafd39858ade832 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 5 May 2014 16:15:18 +0200 Subject: [PATCH] [#3191] ResultQuery.keepStatement(true) doesn't work correctly with DataSourceConnectionProvider --- .../jooq/test/_/testcases/StatementTests.java | 78 ++++++++++++++++--- .../java/org/jooq/impl/AbstractQuery.java | 8 +- .../org/jooq/impl/DefaultExecuteContext.java | 22 ++++-- 3 files changed, 90 insertions(+), 18 deletions(-) diff --git a/jOOQ-test/src/test/java/org/jooq/test/_/testcases/StatementTests.java b/jOOQ-test/src/test/java/org/jooq/test/_/testcases/StatementTests.java index ec5edf145a..189162ebc4 100644 --- a/jOOQ-test/src/test/java/org/jooq/test/_/testcases/StatementTests.java +++ b/jOOQ-test/src/test/java/org/jooq/test/_/testcases/StatementTests.java @@ -65,6 +65,7 @@ import java.util.logging.Logger; import javax.sql.DataSource; import org.jooq.Configuration; +import org.jooq.ConnectionProvider; import org.jooq.Cursor; import org.jooq.DSLContext; import org.jooq.ExecuteContext; @@ -179,10 +180,9 @@ extends BaseTest> query = DSL.using(c1) @@ -190,13 +190,33 @@ extends BaseTest> query = DSL.using(c2) @@ -216,22 +235,61 @@ extends BaseTest + * [#3191] This is needed, e.g. when using + * {@link Query#keepStatement(boolean)}. + */ + final void connection(ConnectionProvider provider, Connection c) { + if (c != null) { + LOCAL_CONNECTION.set(c); + connection = new SettingsEnabledConnection(new ProviderEnabledConnection(provider, c), configuration.settings()); + } + } + @Override public final void record(Record r) { this.record = r;