[jOOQ/jOOQ#13149] Let Query.keepStatement() return CloseableQuery and ResultQuery.keepStatement() return CloseableResultQuery

This commit is contained in:
Lukas Eder 2022-02-25 18:47:02 +01:00
parent 0f59fe6a07
commit d3b6d5ead0
8 changed files with 129 additions and 130 deletions

View File

@ -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
* <code>try-with-resources</code> statement.
*
* @param keepStatement Whether to keep the underlying statement open
*/
@NotNull
Query keepStatement(boolean keepStatement);
/**
* Close the underlying statement.
* <p>
* 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.

View File

@ -5155,7 +5155,7 @@ public interface ResultQuery<R extends Record> extends Fields, Query, Iterable<R
@NotNull
@Override
ResultQuery<R> keepStatement(boolean keepStatement);
CloseableResultQuery<R> keepStatement(boolean keepStatement);
/**
* Specify the maximum number of rows returned by the underlying

View File

@ -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<R extends Record, Q extends Query>
abstract class AbstractDelegatingQuery<R extends Record, Q extends CloseableQuery>
extends
AbstractQueryPart
implements
Query, UProxy<Q>
CloseableQuery, UProxy<Q>
{
private final Q delegate;

View File

@ -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<R extends Record> extends AbstractAttachableQueryPart implements Query {
abstract class AbstractQuery<R extends Record> extends AbstractAttachableQueryPart implements CloseableQuery {
private static final JooqLogger log = JooqLogger.getLogger(AbstractQuery.class);
@ -121,7 +122,7 @@ abstract class AbstractQuery<R extends Record> 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<R extends Record> 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<R extends Record> 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<R extends Record> 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<R extends Record> extends AbstractAttachableQueryPa
* {@inheritDoc}
*/
@Override
public Query keepStatement(boolean k) {
public CloseableQuery keepStatement(boolean k) {
this.keepStatement = k;
return this;
}

View File

@ -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<R extends Record> extends AbstractQuery<R> implements ResultQueryTrait<R> {
abstract class AbstractResultQuery<R extends Record>
extends
AbstractQuery<R>
implements
ResultQueryTrait<R>
{
private static final JooqLogger log = JooqLogger.getLogger(AbstractResultQuery.class);
private static final Set<SQLDialect> REPORT_FETCH_SIZE_WITH_AUTOCOMMIT = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
@ -102,42 +108,42 @@ abstract class AbstractResultQuery<R extends Record> extends AbstractQuery<R> im
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<R> bind(String param, Object value) {
return (ResultQuery<R>) super.bind(param, value);
public final CloseableResultQuery<R> bind(String param, Object value) {
return (CloseableResultQuery<R>) super.bind(param, value);
}
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<R> bind(int index, Object value) {
return (ResultQuery<R>) super.bind(index, value);
public final CloseableResultQuery<R> bind(int index, Object value) {
return (CloseableResultQuery<R>) super.bind(index, value);
}
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<R> poolable(boolean poolable) {
return (ResultQuery<R>) super.poolable(poolable);
public final CloseableResultQuery<R> poolable(boolean poolable) {
return (CloseableResultQuery<R>) super.poolable(poolable);
}
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<R> queryTimeout(int timeout) {
return (ResultQuery<R>) super.queryTimeout(timeout);
public final CloseableResultQuery<R> queryTimeout(int timeout) {
return (CloseableResultQuery<R>) super.queryTimeout(timeout);
}
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<R> keepStatement(boolean k) {
return (ResultQuery<R>) super.keepStatement(k);
public final CloseableResultQuery<R> keepStatement(boolean k) {
return (CloseableResultQuery<R>) super.keepStatement(k);
}
@Override
public final ResultQuery<R> maxRows(int rows) {
public final CloseableResultQuery<R> maxRows(int rows) {
this.maxRows = rows;
return this;
}
@Override
public final ResultQuery<R> fetchSize(int rows) {
public final CloseableResultQuery<R> fetchSize(int rows) {
this.fetchSize = rows;
return this;
}
@ -147,43 +153,43 @@ abstract class AbstractResultQuery<R extends Record> extends AbstractQuery<R> im
}
@Override
public final ResultQuery<R> resultSetConcurrency(int concurrency) {
public final CloseableResultQuery<R> resultSetConcurrency(int concurrency) {
this.resultSetConcurrency = concurrency;
return this;
}
@Override
public final ResultQuery<R> resultSetType(int type) {
public final CloseableResultQuery<R> resultSetType(int type) {
this.resultSetType = type;
return this;
}
@Override
public final ResultQuery<R> resultSetHoldability(int holdability) {
public final CloseableResultQuery<R> resultSetHoldability(int holdability) {
this.resultSetHoldability = holdability;
return this;
}
@Override
public final ResultQuery<R> intern(Field<?>... fields) {
public final CloseableResultQuery<R> intern(Field<?>... fields) {
intern.internFields = fields;
return this;
}
@Override
public final ResultQuery<R> intern(int... fieldIndexes) {
public final CloseableResultQuery<R> intern(int... fieldIndexes) {
intern.internIndexes = fieldIndexes;
return this;
}
@Override
public final ResultQuery<R> intern(String... fieldNameStrings) {
public final CloseableResultQuery<R> intern(String... fieldNameStrings) {
intern.internNameStrings = fieldNameStrings;
return this;
}
@Override
public final ResultQuery<R> intern(Name... fieldNames) {
public final CloseableResultQuery<R> intern(Name... fieldNames) {
intern.internNames = fieldNames;
return this;
}
@ -354,15 +360,15 @@ abstract class AbstractResultQuery<R extends Record> extends AbstractQuery<R> im
@SuppressWarnings("unchecked")
@Override
public final <X extends Record> ResultQuery<X> coerce(Table<X> table) {
public final <X extends Record> CloseableResultQuery<X> coerce(Table<X> table) {
this.coerceTable = table;
return (ResultQuery<X>) coerce(Arrays.asList(table.fields()));
return (CloseableResultQuery<X>) coerce(Arrays.asList(table.fields()));
}
@SuppressWarnings("unchecked")
@Override
public final ResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
public final CloseableResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
this.coerceFields = fields;
return (ResultQuery<Record>) this;
return (CloseableResultQuery<Record>) this;
}
}

View File

@ -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 <X extends Record> ResultQuery<X> coerce(Table<X> table) {
public final <X extends Record> CloseableResultQuery<X> coerce(Table<X> table) {
this.coerceTable = table;
return (ResultQuery<X>) coerce(Arrays.asList(table.fields()));
return (CloseableResultQuery<X>) coerce(Arrays.asList(table.fields()));
}
@Override
public final ResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
public final CloseableResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
this.coerceFields = fields;
return (ResultQuery<Record>) this;
return (CloseableResultQuery<Record>) this;
}
@Override
@ -225,77 +226,77 @@ implements
}
@Override
public final ResultQuery<R> bind(String param, Object value) throws IllegalArgumentException, DataTypeException {
public final CloseableResultQuery<R> bind(String param, Object value) throws IllegalArgumentException, DataTypeException {
delegate.bind(param, value);
return this;
}
@Override
public final ResultQuery<R> bind(int index, Object value) throws IllegalArgumentException, DataTypeException {
public final CloseableResultQuery<R> bind(int index, Object value) throws IllegalArgumentException, DataTypeException {
delegate.bind(index, value);
return this;
}
@Override
public final ResultQuery<R> poolable(boolean poolable) {
public final CloseableResultQuery<R> poolable(boolean poolable) {
delegate.poolable(poolable);
return this;
}
@Override
public final ResultQuery<R> queryTimeout(int timeout) {
public final CloseableResultQuery<R> queryTimeout(int timeout) {
delegate.queryTimeout(timeout);
return this;
}
@Override
public final ResultQuery<R> keepStatement(boolean keepStatement) {
public final CloseableResultQuery<R> keepStatement(boolean keepStatement) {
delegate.keepStatement(keepStatement);
return this;
}
@Override
public final ResultQuery<R> maxRows(int rows) {
public final CloseableResultQuery<R> maxRows(int rows) {
return this;
}
@Override
public final ResultQuery<R> fetchSize(int rows) {
public final CloseableResultQuery<R> fetchSize(int rows) {
return this;
}
@Override
public final ResultQuery<R> resultSetConcurrency(int resultSetConcurrency) {
public final CloseableResultQuery<R> resultSetConcurrency(int resultSetConcurrency) {
return this;
}
@Override
public final ResultQuery<R> resultSetType(int resultSetType) {
public final CloseableResultQuery<R> resultSetType(int resultSetType) {
return this;
}
@Override
public final ResultQuery<R> resultSetHoldability(int resultSetHoldability) {
public final CloseableResultQuery<R> resultSetHoldability(int resultSetHoldability) {
return this;
}
@Override
public final ResultQuery<R> intern(Field<?>... fields) {
public final CloseableResultQuery<R> intern(Field<?>... fields) {
return this;
}
@Override
public final ResultQuery<R> intern(int... fieldIndexes) {
public final CloseableResultQuery<R> intern(int... fieldIndexes) {
return this;
}
@Override
public final ResultQuery<R> intern(String... fieldNames) {
public final CloseableResultQuery<R> intern(String... fieldNames) {
return this;
}
@Override
public final ResultQuery<R> intern(Name... fieldNames) {
public final CloseableResultQuery<R> intern(Name... fieldNames) {
return this;
}
}

View File

@ -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<R extends Record> extends QueryPartInternal, ResultQuery<R>, Mappable<R>, FieldsTrait {
interface ResultQueryTrait<R extends Record>
extends
QueryPartInternal,
CloseableResultQuery<R>,
Mappable<R>,
FieldsTrait
{
@Override
default ResultQuery<Record> coerce(Field<?>... fields) {
default CloseableResultQuery<Record> coerce(Field<?>... fields) {
return coerce(Arrays.asList(fields));
}
@ -141,134 +144,134 @@ interface ResultQueryTrait<R extends Record> extends QueryPartInternal, ResultQu
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1> ResultQuery<Record1<T1>> coerce(Field<T1> field1) {
return (ResultQuery) coerce(new Field[] { field1 });
default <T1> CloseableResultQuery<Record1<T1>> coerce(Field<T1> field1) {
return (CloseableResultQuery) coerce(new Field[] { field1 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2> ResultQuery<Record2<T1, T2>> coerce(Field<T1> field1, Field<T2> field2) {
return (ResultQuery) coerce(new Field[] { field1, field2 });
default <T1, T2> CloseableResultQuery<Record2<T1, T2>> coerce(Field<T1> field1, Field<T2> field2) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3> ResultQuery<Record3<T1, T2, T3>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3 });
default <T1, T2, T3> CloseableResultQuery<Record3<T1, T2, T3>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4> ResultQuery<Record4<T1, T2, T3, T4>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4 });
default <T1, T2, T3, T4> CloseableResultQuery<Record4<T1, T2, T3, T4>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5> ResultQuery<Record5<T1, T2, T3, T4, T5>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5 });
default <T1, T2, T3, T4, T5> CloseableResultQuery<Record5<T1, T2, T3, T4, T5>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6> ResultQuery<Record6<T1, T2, T3, T4, T5, T6>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6 });
default <T1, T2, T3, T4, T5, T6> CloseableResultQuery<Record6<T1, T2, T3, T4, T5, T6>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7> ResultQuery<Record7<T1, T2, T3, T4, T5, T6, T7>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7 });
default <T1, T2, T3, T4, T5, T6, T7> CloseableResultQuery<Record7<T1, T2, T3, T4, T5, T6, T7>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8> ResultQuery<Record8<T1, T2, T3, T4, T5, T6, T7, T8>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 });
default <T1, T2, T3, T4, T5, T6, T7, T8> CloseableResultQuery<Record8<T1, T2, T3, T4, T5, T6, T7, T8>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9> ResultQuery<Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9> CloseableResultQuery<Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ResultQuery<Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> CloseableResultQuery<Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ResultQuery<Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> CloseableResultQuery<Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ResultQuery<Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> CloseableResultQuery<Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ResultQuery<Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> CloseableResultQuery<Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13) {
return (CloseableResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 });
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ResultQuery<Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> CloseableResultQuery<Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ResultQuery<Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> CloseableResultQuery<Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ResultQuery<Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> CloseableResultQuery<Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> ResultQuery<Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17) {
return (ResultQuery) coerce(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 });
default <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> CloseableResultQuery<Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> ResultQuery<Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> CloseableResultQuery<Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> ResultQuery<Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> CloseableResultQuery<Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> ResultQuery<Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> CloseableResultQuery<Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> ResultQuery<Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> CloseableResultQuery<Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> ResultQuery<Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> 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 <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> CloseableResultQuery<Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> coerce(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> 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 });
}

View File

@ -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<R> maxRows(int rows) {
public final CloseableResultQuery<R> maxRows(int rows) {
return getDelegate().maxRows(rows);
}
@Override
public final ResultQuery<R> fetchSize(int rows) {
public final CloseableResultQuery<R> fetchSize(int rows) {
return getDelegate().fetchSize(rows);
}
@Override
public final ResultQuery<R> resultSetConcurrency(int resultSetConcurrency) {
public final CloseableResultQuery<R> resultSetConcurrency(int resultSetConcurrency) {
return getDelegate().resultSetConcurrency(resultSetConcurrency);
}
@Override
public final ResultQuery<R> resultSetType(int resultSetType) {
public final CloseableResultQuery<R> resultSetType(int resultSetType) {
return getDelegate().resultSetType(resultSetType);
}
@Override
public final ResultQuery<R> resultSetHoldability(int resultSetHoldability) {
public final CloseableResultQuery<R> resultSetHoldability(int resultSetHoldability) {
return getDelegate().resultSetHoldability(resultSetHoldability);
}
@Override
public final ResultQuery<R> intern(Field<?>... fields) {
public final CloseableResultQuery<R> intern(Field<?>... fields) {
return getDelegate().intern(fields);
}
@Override
public final ResultQuery<R> intern(int... fieldIndexes) {
public final CloseableResultQuery<R> intern(int... fieldIndexes) {
return getDelegate().intern(fieldIndexes);
}
@Override
public final ResultQuery<R> intern(String... fieldNames) {
public final CloseableResultQuery<R> intern(String... fieldNames) {
return getDelegate().intern(fieldNames);
}
@Override
public final ResultQuery<R> intern(Name... fieldNames) {
public final CloseableResultQuery<R> intern(Name... fieldNames) {
return getDelegate().intern(fieldNames);
}
@ -2915,12 +2916,12 @@ implements
}
@Override
public final <X extends Record> ResultQuery<X> coerce(Table<X> table) {
public final <X extends Record> CloseableResultQuery<X> coerce(Table<X> table) {
return getDelegate().coerce(table);
}
@Override
public final ResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
public final CloseableResultQuery<Record> coerce(Collection<? extends Field<?>> fields) {
return getDelegate().coerce(fields);
}