From d3b6d5ead0c3bc7a244046fdaa472acea9ebfd45 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 25 Feb 2022 18:47:02 +0100 Subject: [PATCH] [jOOQ/jOOQ#13149] Let Query.keepStatement() return CloseableQuery and ResultQuery.keepStatement() return CloseableResultQuery --- jOOQ/src/main/java/org/jooq/Query.java | 22 +--- jOOQ/src/main/java/org/jooq/ResultQuery.java | 2 +- .../jooq/impl/AbstractDelegatingQuery.java | 5 +- .../java/org/jooq/impl/AbstractQuery.java | 13 ++- .../org/jooq/impl/AbstractResultQuery.java | 54 +++++---- .../org/jooq/impl/DMLQueryAsResultQuery.java | 37 ++++--- .../java/org/jooq/impl/ResultQueryTrait.java | 103 +++++++++--------- .../main/java/org/jooq/impl/SelectImpl.java | 23 ++-- 8 files changed, 129 insertions(+), 130 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/Query.java b/jOOQ/src/main/java/org/jooq/Query.java index f0e911d5bd..12722bf78e 100644 --- a/jOOQ/src/main/java/org/jooq/Query.java +++ b/jOOQ/src/main/java/org/jooq/Query.java @@ -58,7 +58,7 @@ import org.jetbrains.annotations.NotNull; * * @author Lukas Eder */ -public interface Query extends Statement, AttachableQueryPart, AutoCloseable { +public interface Query extends Statement, AttachableQueryPart { /** * Execute the query, if it has been created with a proper configuration. @@ -200,27 +200,13 @@ public interface Query extends Statement, AttachableQueryPart, AutoCloseable { * This indicates to jOOQ that the query's underlying {@link Statement} or * {@link PreparedStatement} should be kept open after execution. If it is * kept open, client code is responsible for properly closing it using - * {@link #close()} + * {@link CloseableQuery#close()}, e.g. via a + * try-with-resources statement. * * @param keepStatement Whether to keep the underlying statement open */ @NotNull - Query keepStatement(boolean keepStatement); - - /** - * Close the underlying statement. - *

- * This closes the query's underlying {@link Statement} or - * {@link PreparedStatement} if a previous call to - * {@link #keepStatement(boolean)} indicated that jOOQ should keep - * statements open after query execution. If there is no underlying open - * statement, this call is simply ignored. - * - * @throws DataAccessException If something went wrong closing the statement - * @see java.sql.Statement#close() - */ - @Override - void close() throws DataAccessException; + CloseableQuery keepStatement(boolean keepStatement); /** * Cancel the underlying statement. diff --git a/jOOQ/src/main/java/org/jooq/ResultQuery.java b/jOOQ/src/main/java/org/jooq/ResultQuery.java index a066dd562a..95a29352ab 100644 --- a/jOOQ/src/main/java/org/jooq/ResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/ResultQuery.java @@ -5155,7 +5155,7 @@ public interface ResultQuery extends Fields, Query, Iterable keepStatement(boolean keepStatement); + CloseableResultQuery keepStatement(boolean keepStatement); /** * Specify the maximum number of rows returned by the underlying diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingQuery.java index 8125eb05d6..4456daa4a8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingQuery.java @@ -42,6 +42,7 @@ import java.util.Map; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; +import org.jooq.CloseableQuery; import org.jooq.Configuration; import org.jooq.Context; import org.jooq.Param; @@ -53,11 +54,11 @@ import org.jooq.impl.QOM.UProxy; /** * @author Lukas Eder */ -abstract class AbstractDelegatingQuery +abstract class AbstractDelegatingQuery extends AbstractQueryPart implements - Query, UProxy + CloseableQuery, UProxy { private final Q delegate; diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java index 089e6e23cb..095b433701 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java @@ -64,6 +64,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; +import org.jooq.CloseableQuery; import org.jooq.Configuration; import org.jooq.ExecuteContext; import org.jooq.ExecuteListener; @@ -84,7 +85,7 @@ import org.jooq.tools.JooqLogger; /** * @author Lukas Eder */ -abstract class AbstractQuery extends AbstractAttachableQueryPart implements Query { +abstract class AbstractQuery extends AbstractAttachableQueryPart implements CloseableQuery { private static final JooqLogger log = JooqLogger.getLogger(AbstractQuery.class); @@ -121,7 +122,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa * {@inheritDoc} */ @Override - public Query bind(String param, Object value) { + public CloseableQuery bind(String param, Object value) { Integer index = Ints.tryParse(param); if (index != null) return bind(index, value); @@ -147,7 +148,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa * {@inheritDoc} */ @Override - public Query bind(int index, Object value) { + public CloseableQuery bind(int index, Object value) { Param[] params = getParams().values().toArray(EMPTY_PARAM); if (index < 1 || index > params.length) @@ -193,7 +194,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa * {@inheritDoc} */ @Override - public Query poolable(boolean p) { + public CloseableQuery poolable(boolean p) { this.poolable = p ? QueryPoolable.TRUE : QueryPoolable.FALSE; return this; } @@ -204,7 +205,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa * {@inheritDoc} */ @Override - public Query queryTimeout(int t) { + public CloseableQuery queryTimeout(int t) { this.timeout = t; return this; } @@ -215,7 +216,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa * {@inheritDoc} */ @Override - public Query keepStatement(boolean k) { + public CloseableQuery keepStatement(boolean k) { this.keepStatement = k; return this; } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java index d91c081a76..a4845e57aa 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java @@ -51,6 +51,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Set; +import org.jooq.CloseableResultQuery; import org.jooq.Configuration; import org.jooq.Cursor; import org.jooq.DSLContext; @@ -74,7 +75,12 @@ import org.jooq.tools.jdbc.MockResultSet; * * @author Lukas Eder */ -abstract class AbstractResultQuery extends AbstractQuery implements ResultQueryTrait { +abstract class AbstractResultQuery +extends + AbstractQuery +implements + ResultQueryTrait +{ private static final JooqLogger log = JooqLogger.getLogger(AbstractResultQuery.class); private static final Set REPORT_FETCH_SIZE_WITH_AUTOCOMMIT = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB); @@ -102,42 +108,42 @@ abstract class AbstractResultQuery extends AbstractQuery im @SuppressWarnings("unchecked") @Override - public final ResultQuery bind(String param, Object value) { - return (ResultQuery) super.bind(param, value); + public final CloseableResultQuery bind(String param, Object value) { + return (CloseableResultQuery) super.bind(param, value); } @SuppressWarnings("unchecked") @Override - public final ResultQuery bind(int index, Object value) { - return (ResultQuery) super.bind(index, value); + public final CloseableResultQuery bind(int index, Object value) { + return (CloseableResultQuery) super.bind(index, value); } @SuppressWarnings("unchecked") @Override - public final ResultQuery poolable(boolean poolable) { - return (ResultQuery) super.poolable(poolable); + public final CloseableResultQuery poolable(boolean poolable) { + return (CloseableResultQuery) super.poolable(poolable); } @SuppressWarnings("unchecked") @Override - public final ResultQuery queryTimeout(int timeout) { - return (ResultQuery) super.queryTimeout(timeout); + public final CloseableResultQuery queryTimeout(int timeout) { + return (CloseableResultQuery) super.queryTimeout(timeout); } @SuppressWarnings("unchecked") @Override - public final ResultQuery keepStatement(boolean k) { - return (ResultQuery) super.keepStatement(k); + public final CloseableResultQuery keepStatement(boolean k) { + return (CloseableResultQuery) super.keepStatement(k); } @Override - public final ResultQuery maxRows(int rows) { + public final CloseableResultQuery maxRows(int rows) { this.maxRows = rows; return this; } @Override - public final ResultQuery fetchSize(int rows) { + public final CloseableResultQuery fetchSize(int rows) { this.fetchSize = rows; return this; } @@ -147,43 +153,43 @@ abstract class AbstractResultQuery extends AbstractQuery im } @Override - public final ResultQuery resultSetConcurrency(int concurrency) { + public final CloseableResultQuery resultSetConcurrency(int concurrency) { this.resultSetConcurrency = concurrency; return this; } @Override - public final ResultQuery resultSetType(int type) { + public final CloseableResultQuery resultSetType(int type) { this.resultSetType = type; return this; } @Override - public final ResultQuery resultSetHoldability(int holdability) { + public final CloseableResultQuery resultSetHoldability(int holdability) { this.resultSetHoldability = holdability; return this; } @Override - public final ResultQuery intern(Field... fields) { + public final CloseableResultQuery intern(Field... fields) { intern.internFields = fields; return this; } @Override - public final ResultQuery intern(int... fieldIndexes) { + public final CloseableResultQuery intern(int... fieldIndexes) { intern.internIndexes = fieldIndexes; return this; } @Override - public final ResultQuery intern(String... fieldNameStrings) { + public final CloseableResultQuery intern(String... fieldNameStrings) { intern.internNameStrings = fieldNameStrings; return this; } @Override - public final ResultQuery intern(Name... fieldNames) { + public final CloseableResultQuery intern(Name... fieldNames) { intern.internNames = fieldNames; return this; } @@ -354,15 +360,15 @@ abstract class AbstractResultQuery extends AbstractQuery im @SuppressWarnings("unchecked") @Override - public final ResultQuery coerce(Table table) { + public final CloseableResultQuery coerce(Table table) { this.coerceTable = table; - return (ResultQuery) coerce(Arrays.asList(table.fields())); + return (CloseableResultQuery) coerce(Arrays.asList(table.fields())); } @SuppressWarnings("unchecked") @Override - public final ResultQuery coerce(Collection> fields) { + public final CloseableResultQuery coerce(Collection> fields) { this.coerceFields = fields; - return (ResultQuery) this; + return (CloseableResultQuery) this; } } diff --git a/jOOQ/src/main/java/org/jooq/impl/DMLQueryAsResultQuery.java b/jOOQ/src/main/java/org/jooq/impl/DMLQueryAsResultQuery.java index 46af3a8e04..c0ef4fda43 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DMLQueryAsResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/DMLQueryAsResultQuery.java @@ -48,6 +48,7 @@ import java.util.Map; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; +import org.jooq.CloseableResultQuery; import org.jooq.Configuration; import org.jooq.Context; import org.jooq.Delete; @@ -117,15 +118,15 @@ implements } @Override - public final ResultQuery coerce(Table table) { + public final CloseableResultQuery coerce(Table table) { this.coerceTable = table; - return (ResultQuery) coerce(Arrays.asList(table.fields())); + return (CloseableResultQuery) coerce(Arrays.asList(table.fields())); } @Override - public final ResultQuery coerce(Collection> fields) { + public final CloseableResultQuery coerce(Collection> fields) { this.coerceFields = fields; - return (ResultQuery) this; + return (CloseableResultQuery) this; } @Override @@ -225,77 +226,77 @@ implements } @Override - public final ResultQuery bind(String param, Object value) throws IllegalArgumentException, DataTypeException { + public final CloseableResultQuery bind(String param, Object value) throws IllegalArgumentException, DataTypeException { delegate.bind(param, value); return this; } @Override - public final ResultQuery bind(int index, Object value) throws IllegalArgumentException, DataTypeException { + public final CloseableResultQuery bind(int index, Object value) throws IllegalArgumentException, DataTypeException { delegate.bind(index, value); return this; } @Override - public final ResultQuery poolable(boolean poolable) { + public final CloseableResultQuery poolable(boolean poolable) { delegate.poolable(poolable); return this; } @Override - public final ResultQuery queryTimeout(int timeout) { + public final CloseableResultQuery queryTimeout(int timeout) { delegate.queryTimeout(timeout); return this; } @Override - public final ResultQuery keepStatement(boolean keepStatement) { + public final CloseableResultQuery keepStatement(boolean keepStatement) { delegate.keepStatement(keepStatement); return this; } @Override - public final ResultQuery maxRows(int rows) { + public final CloseableResultQuery maxRows(int rows) { return this; } @Override - public final ResultQuery fetchSize(int rows) { + public final CloseableResultQuery fetchSize(int rows) { return this; } @Override - public final ResultQuery resultSetConcurrency(int resultSetConcurrency) { + public final CloseableResultQuery resultSetConcurrency(int resultSetConcurrency) { return this; } @Override - public final ResultQuery resultSetType(int resultSetType) { + public final CloseableResultQuery resultSetType(int resultSetType) { return this; } @Override - public final ResultQuery resultSetHoldability(int resultSetHoldability) { + public final CloseableResultQuery resultSetHoldability(int resultSetHoldability) { return this; } @Override - public final ResultQuery intern(Field... fields) { + public final CloseableResultQuery intern(Field... fields) { return this; } @Override - public final ResultQuery intern(int... fieldIndexes) { + public final CloseableResultQuery intern(int... fieldIndexes) { return this; } @Override - public final ResultQuery intern(String... fieldNames) { + public final CloseableResultQuery intern(String... fieldNames) { return this; } @Override - public final ResultQuery intern(Name... fieldNames) { + public final CloseableResultQuery intern(Name... fieldNames) { return this; } } \ No newline at end of file diff --git a/jOOQ/src/main/java/org/jooq/impl/ResultQueryTrait.java b/jOOQ/src/main/java/org/jooq/impl/ResultQueryTrait.java index 3bd0b64802..692e7f099f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ResultQueryTrait.java +++ b/jOOQ/src/main/java/org/jooq/impl/ResultQueryTrait.java @@ -69,14 +69,13 @@ import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import java.util.stream.Collector; -import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; +import org.jooq.CloseableResultQuery; import org.jooq.Configuration; import org.jooq.Converter; import org.jooq.Cursor; -import org.jooq.DataType; import org.jooq.Field; import org.jooq.Name; import org.jooq.QueryPartInternal; @@ -112,12 +111,10 @@ import org.jooq.Results; import org.jooq.Row; import org.jooq.Select; import org.jooq.Table; -import org.jooq.conf.SettingsTools; import org.jooq.exception.DataAccessException; import org.jooq.impl.R2DBC.BlockingRecordSubscription; import org.jooq.impl.R2DBC.QuerySubscription; import org.jooq.impl.R2DBC.ResultSubscriber; -import org.jooq.tools.jdbc.JDBCUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -130,10 +127,16 @@ import io.r2dbc.spi.ConnectionFactory; * * @author Lukas Eder */ -interface ResultQueryTrait extends QueryPartInternal, ResultQuery, Mappable, FieldsTrait { +interface ResultQueryTrait +extends + QueryPartInternal, + CloseableResultQuery, + Mappable, + FieldsTrait +{ @Override - default ResultQuery coerce(Field... fields) { + default CloseableResultQuery coerce(Field... fields) { return coerce(Arrays.asList(fields)); } @@ -141,134 +144,134 @@ interface ResultQueryTrait extends QueryPartInternal, ResultQu @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1) { - return (ResultQuery) coerce(new Field[] { field1 }); + default CloseableResultQuery> coerce(Field field1) { + return (CloseableResultQuery) coerce(new Field[] { field1 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2) { - return (ResultQuery) coerce(new Field[] { field1, field2 }); + default CloseableResultQuery> coerce(Field field1, Field field2) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); } @Override @SuppressWarnings({ "rawtypes", "unchecked" }) - default ResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) { - return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); + default CloseableResultQuery> coerce(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) { + return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); } diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java index 894b23a563..c5c014cc85 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java @@ -55,6 +55,7 @@ import java.util.function.Function; import org.jooq.BetweenAndStep; import org.jooq.BetweenAndStepR; +import org.jooq.CloseableResultQuery; import org.jooq.Comparator; import org.jooq.Condition; import org.jooq.Configuration; @@ -2756,47 +2757,47 @@ implements } @Override - public final ResultQuery maxRows(int rows) { + public final CloseableResultQuery maxRows(int rows) { return getDelegate().maxRows(rows); } @Override - public final ResultQuery fetchSize(int rows) { + public final CloseableResultQuery fetchSize(int rows) { return getDelegate().fetchSize(rows); } @Override - public final ResultQuery resultSetConcurrency(int resultSetConcurrency) { + public final CloseableResultQuery resultSetConcurrency(int resultSetConcurrency) { return getDelegate().resultSetConcurrency(resultSetConcurrency); } @Override - public final ResultQuery resultSetType(int resultSetType) { + public final CloseableResultQuery resultSetType(int resultSetType) { return getDelegate().resultSetType(resultSetType); } @Override - public final ResultQuery resultSetHoldability(int resultSetHoldability) { + public final CloseableResultQuery resultSetHoldability(int resultSetHoldability) { return getDelegate().resultSetHoldability(resultSetHoldability); } @Override - public final ResultQuery intern(Field... fields) { + public final CloseableResultQuery intern(Field... fields) { return getDelegate().intern(fields); } @Override - public final ResultQuery intern(int... fieldIndexes) { + public final CloseableResultQuery intern(int... fieldIndexes) { return getDelegate().intern(fieldIndexes); } @Override - public final ResultQuery intern(String... fieldNames) { + public final CloseableResultQuery intern(String... fieldNames) { return getDelegate().intern(fieldNames); } @Override - public final ResultQuery intern(Name... fieldNames) { + public final CloseableResultQuery intern(Name... fieldNames) { return getDelegate().intern(fieldNames); } @@ -2915,12 +2916,12 @@ implements } @Override - public final ResultQuery coerce(Table table) { + public final CloseableResultQuery coerce(Table table) { return getDelegate().coerce(table); } @Override - public final ResultQuery coerce(Collection> fields) { + public final CloseableResultQuery coerce(Collection> fields) { return getDelegate().coerce(fields); }