All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jooq.impl.DefaultDSLContext Maven / Gradle / Ivy

There is a newer version: 0.10.0
Show newest version
/**
 * Copyright (c) 2009-2014, Data Geekery GmbH (http://www.datageekery.com)
 * All rights reserved.
 *
 * This work is dual-licensed
 * - under the Apache Software License 2.0 (the "ASL")
 * - under the jOOQ License and Maintenance Agreement (the "jOOQ License")
 * =============================================================================
 * You may choose which license applies to you:
 *
 * - If you're using this work with Open Source databases, you may choose
 *   either ASL or jOOQ License.
 * - If you're using this work with at least one commercial database, you must
 *   choose jOOQ License
 *
 * For more information, please visit http://www.jooq.org/licenses
 *
 * Apache Software License 2.0:
 * -----------------------------------------------------------------------------
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * jOOQ License and Maintenance Agreement:
 * -----------------------------------------------------------------------------
 * Data Geekery grants the Customer the non-exclusive, timely limited and
 * non-transferable license to install and use the Software under the terms of
 * the jOOQ License and Maintenance Agreement.
 *
 * This library is distributed with a LIMITED WARRANTY. See the jOOQ License
 * and Maintenance Agreement for more details: http://www.jooq.org/licensing
 */
package org.jooq.impl;

import static org.jooq.conf.ParamType.INLINED;
import static org.jooq.conf.ParamType.NAMED;
import static org.jooq.conf.ParamType.NAMED_OR_INLINED;
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.fieldByName;
import static org.jooq.impl.DSL.queryPart;
import static org.jooq.impl.DSL.sequenceByName;
import static org.jooq.impl.DSL.tableByName;
import static org.jooq.impl.DSL.template;
import static org.jooq.impl.DSL.trueCondition;
import static org.jooq.impl.Utils.list;
import static org.jooq.tools.Convert.convert;

import java.io.IOException;
import java.io.Serializable;
import java.io.StringReader;
import java.math.BigInteger;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import javax.annotation.Generated;
import javax.sql.DataSource;

import org.jooq.AlterSequenceRestartStep;
import org.jooq.AlterTableStep;
import org.jooq.Attachable;
import org.jooq.Batch;
import org.jooq.BatchBindStep;
import org.jooq.BindContext;
import org.jooq.CommonTableExpression;
import org.jooq.Condition;
import org.jooq.Configuration;
import org.jooq.ConnectionProvider;
import org.jooq.CreateIndexStep;
import org.jooq.CreateSequenceFinalStep;
import org.jooq.CreateTableAsStep;
import org.jooq.CreateViewAsStep;
import org.jooq.Cursor;
import org.jooq.DSLContext;
import org.jooq.DataType;
import org.jooq.DeleteQuery;
import org.jooq.DeleteWhereStep;
import org.jooq.DropIndexFinalStep;
import org.jooq.DropSequenceFinalStep;
import org.jooq.DropTableStep;
import org.jooq.DropViewFinalStep;
import org.jooq.ExecuteContext;
import org.jooq.ExecuteListener;
import org.jooq.Field;
import org.jooq.InsertQuery;
import org.jooq.InsertSetStep;
import org.jooq.InsertValuesStep1;
import org.jooq.InsertValuesStep10;
import org.jooq.InsertValuesStep11;
import org.jooq.InsertValuesStep12;
import org.jooq.InsertValuesStep13;
import org.jooq.InsertValuesStep14;
import org.jooq.InsertValuesStep15;
import org.jooq.InsertValuesStep16;
import org.jooq.InsertValuesStep17;
import org.jooq.InsertValuesStep18;
import org.jooq.InsertValuesStep19;
import org.jooq.InsertValuesStep2;
import org.jooq.InsertValuesStep20;
import org.jooq.InsertValuesStep21;
import org.jooq.InsertValuesStep22;
import org.jooq.InsertValuesStep3;
import org.jooq.InsertValuesStep4;
import org.jooq.InsertValuesStep5;
import org.jooq.InsertValuesStep6;
import org.jooq.InsertValuesStep7;
import org.jooq.InsertValuesStep8;
import org.jooq.InsertValuesStep9;
import org.jooq.InsertValuesStepN;
import org.jooq.LoaderOptionsStep;
import org.jooq.MergeKeyStep1;
import org.jooq.MergeKeyStep10;
import org.jooq.MergeKeyStep11;
import org.jooq.MergeKeyStep12;
import org.jooq.MergeKeyStep13;
import org.jooq.MergeKeyStep14;
import org.jooq.MergeKeyStep15;
import org.jooq.MergeKeyStep16;
import org.jooq.MergeKeyStep17;
import org.jooq.MergeKeyStep18;
import org.jooq.MergeKeyStep19;
import org.jooq.MergeKeyStep2;
import org.jooq.MergeKeyStep20;
import org.jooq.MergeKeyStep21;
import org.jooq.MergeKeyStep22;
import org.jooq.MergeKeyStep3;
import org.jooq.MergeKeyStep4;
import org.jooq.MergeKeyStep5;
import org.jooq.MergeKeyStep6;
import org.jooq.MergeKeyStep7;
import org.jooq.MergeKeyStep8;
import org.jooq.MergeKeyStep9;
import org.jooq.MergeKeyStepN;
import org.jooq.MergeUsingStep;
import org.jooq.Meta;
import org.jooq.Param;
import org.jooq.Query;
import org.jooq.QueryPart;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record10;
import org.jooq.Record11;
import org.jooq.Record12;
import org.jooq.Record13;
import org.jooq.Record14;
import org.jooq.Record15;
import org.jooq.Record16;
import org.jooq.Record17;
import org.jooq.Record18;
import org.jooq.Record19;
import org.jooq.Record2;
import org.jooq.Record20;
import org.jooq.Record21;
import org.jooq.Record22;
import org.jooq.Record3;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
import org.jooq.Record7;
import org.jooq.Record8;
import org.jooq.Record9;
import org.jooq.RenderContext;
import org.jooq.Result;
import org.jooq.ResultQuery;
import org.jooq.SQLDialect;
import org.jooq.Schema;
import org.jooq.Select;
import org.jooq.SelectQuery;
import org.jooq.SelectSelectStep;
import org.jooq.SelectWhereStep;
import org.jooq.Sequence;
import org.jooq.Table;
import org.jooq.TableLike;
import org.jooq.TableRecord;
import org.jooq.TransactionProvider;
import org.jooq.TransactionalCallable;
import org.jooq.TransactionalRunnable;
import org.jooq.TruncateIdentityStep;
import org.jooq.UDT;
import org.jooq.UDTRecord;
import org.jooq.UpdatableRecord;
import org.jooq.UpdateQuery;
import org.jooq.UpdateSetFirstStep;
import org.jooq.WithAsStep;
import org.jooq.WithStep;
import org.jooq.conf.Settings;
import org.jooq.exception.DataAccessException;
import org.jooq.exception.InvalidResultException;
import org.jooq.exception.SQLDialectNotSupportedException;
import org.jooq.impl.BatchCRUD.Action;
import org.jooq.tools.JooqLogger;
import org.jooq.tools.csv.CSVReader;
import org.jooq.tools.reflect.Reflect;
import org.jooq.tools.reflect.ReflectException;

/**
 * A default implementation for {@link DSLContext}.
 * 

* You may use this as a base implementation for custom {@link DSLContext} * subtypes preventing potential API breakage when upgrading jOOQ, or to * delegate DSL method calls to your custom implementations. * * @author Lukas Eder */ @SuppressWarnings({ "rawtypes", "unchecked" }) public class DefaultDSLContext extends AbstractScope implements DSLContext, Serializable { /** * Generated UID */ private static final long serialVersionUID = 2681360188806309513L; private static final JooqLogger log = JooqLogger.getLogger(DefaultDSLContext.class); // ------------------------------------------------------------------------- // XXX Constructors // ------------------------------------------------------------------------- public DefaultDSLContext(SQLDialect dialect) { this(dialect, null); } public DefaultDSLContext(SQLDialect dialect, Settings settings) { this(new DefaultConfiguration(new NoConnectionProvider(), null, null, null, null, null, dialect, settings, null)); } public DefaultDSLContext(Connection connection, SQLDialect dialect) { this(connection, dialect, null); } public DefaultDSLContext(Connection connection, SQLDialect dialect, Settings settings) { this(new DefaultConfiguration(new DefaultConnectionProvider(connection), null, null, null, null, null, dialect, settings, null)); } public DefaultDSLContext(DataSource datasource, SQLDialect dialect) { this(datasource, dialect, null); } public DefaultDSLContext(DataSource datasource, SQLDialect dialect, Settings settings) { this(new DefaultConfiguration(new DataSourceConnectionProvider(datasource), null, null, null, null, null, dialect, settings, null)); } public DefaultDSLContext(ConnectionProvider connectionProvider, SQLDialect dialect) { this(connectionProvider, dialect, null); } public DefaultDSLContext(ConnectionProvider connectionProvider, SQLDialect dialect, Settings settings) { this(new DefaultConfiguration(connectionProvider, null, null, null, null, null, dialect, settings, null)); } public DefaultDSLContext(Configuration configuration) { super(configuration); } // ------------------------------------------------------------------------- // XXX Configuration API // ------------------------------------------------------------------------- @Override public Schema map(Schema schema) { return Utils.getMappedSchema(configuration(), schema); } @Override public Table map(Table table) { return Utils.getMappedTable(configuration(), table); } // ------------------------------------------------------------------------- // XXX Convenience methods accessing the underlying Connection // ------------------------------------------------------------------------- @Override public Meta meta() { return new MetaImpl(configuration()); } // ------------------------------------------------------------------------- // XXX Transaction API // ------------------------------------------------------------------------- @Override public T transactionResult(TransactionalCallable transactional) { T result = null; DefaultTransactionContext ctx = new DefaultTransactionContext(configuration().derive()); TransactionProvider provider = ctx.configuration().transactionProvider(); try { provider.begin(ctx); result = transactional.run(ctx.configuration()); provider.commit(ctx); } catch (Exception cause) { try { provider.rollback(ctx.cause(cause)); } // [#3718] Use reflection to support also JDBC 4.0 catch (Exception suppress) { try { Reflect.on(cause).call("addSuppressed", suppress); } catch (ReflectException ignore) { log.error("Error when rolling back", suppress); } } if (cause instanceof RuntimeException) { throw (RuntimeException) cause; } else { throw new DataAccessException("Rollback caused", cause); } } return result; } @Override public void transaction(final TransactionalRunnable transactional) { transactionResult(new TransactionalCallable() { @Override public Void run(Configuration c) throws Exception { transactional.run(c); return null; } }); } // ------------------------------------------------------------------------- // XXX RenderContext and BindContext accessors // ------------------------------------------------------------------------- @Override public RenderContext renderContext() { return new DefaultRenderContext(configuration()); } @Override public String render(QueryPart part) { return renderContext().render(part); } @Override public String renderNamedParams(QueryPart part) { return renderContext().paramType(NAMED).render(part); } @Override public String renderNamedOrInlinedParams(QueryPart part) { return renderContext().paramType(NAMED_OR_INLINED).render(part); } @Override public String renderInlined(QueryPart part) { return renderContext().paramType(INLINED).render(part); } @Override public List extractBindValues(QueryPart part) { List result = new ArrayList(); for (Param param : extractParams0(part, false).values()) { result.add(param.getValue()); } return Collections.unmodifiableList(result); } @Override public Map> extractParams(QueryPart part) { return extractParams0(part, true); } final Map> extractParams0(QueryPart part, boolean includeInlinedParams) { ParamCollector collector = new ParamCollector(configuration(), includeInlinedParams); collector.visit(part); return Collections.unmodifiableMap(collector.result); } @Override public Param extractParam(QueryPart part, String name) { return extractParams(part).get(name); } @Override public BindContext bindContext(PreparedStatement stmt) { return new DefaultBindContext(configuration(), stmt); } @Override @Deprecated public int bind(QueryPart part, PreparedStatement stmt) { return bindContext(stmt).visit(part).peekIndex(); } // ------------------------------------------------------------------------- // XXX Attachable and Serializable API // ------------------------------------------------------------------------- @Override public void attach(Attachable... attachables) { attach(Arrays.asList(attachables)); } @Override public void attach(Collection attachables) { for (Attachable attachable : attachables) { attachable.attach(configuration()); } } // ------------------------------------------------------------------------- // XXX Access to the loader API // ------------------------------------------------------------------------- @Override public > LoaderOptionsStep loadInto(Table table) { return new LoaderImpl(configuration(), table); } // ------------------------------------------------------------------------- // XXX Plain SQL API // ------------------------------------------------------------------------- @Override public Query query(String sql) { return query(template(sql), new Object[0]); } @Override public Query query(String sql, Object... bindings) { return query(template(sql), bindings); } @Override public Query query(String sql, QueryPart... parts) { return query(template(sql), (Object[]) parts); } @SuppressWarnings("deprecation") Query query(org.jooq.Template template, Object... parameters) { return new SQLQuery(configuration(), queryPart(template, parameters)); } @Override public Result fetch(String sql) { return resultQuery(sql).fetch(); } @Override public Result fetch(String sql, Object... bindings) { return resultQuery(sql, bindings).fetch(); } @Override public Result fetch(String sql, QueryPart... parts) { return resultQuery(sql, parts).fetch(); } @SuppressWarnings("deprecation") Result fetch(org.jooq.Template template, Object... parameters) { return resultQuery(template, parameters).fetch(); } @Override public Cursor fetchLazy(String sql) { return resultQuery(sql).fetchLazy(); } @Override public Cursor fetchLazy(String sql, Object... bindings) { return resultQuery(sql, bindings).fetchLazy(); } @Override public Cursor fetchLazy(String sql, QueryPart... parts) { return resultQuery(sql, parts).fetchLazy(); } @SuppressWarnings("deprecation") Cursor fetchLazy(org.jooq.Template template, Object... parameters) { return resultQuery(template, parameters).fetchLazy(); } @Override public List> fetchMany(String sql) { return resultQuery(sql).fetchMany(); } @Override public List> fetchMany(String sql, Object... bindings) { return resultQuery(sql, bindings).fetchMany(); } @Override public List> fetchMany(String sql, QueryPart... parts) { return resultQuery(sql, parts).fetchMany(); } @SuppressWarnings("deprecation") List> fetchMany(org.jooq.Template template, Object... parameters) { return resultQuery(template, parameters).fetchMany(); } @Override public Record fetchOne(String sql) { return resultQuery(sql).fetchOne(); } @Override public Record fetchOne(String sql, Object... bindings) { return resultQuery(sql, bindings).fetchOne(); } @Override public Record fetchOne(String sql, QueryPart... parts) { return resultQuery(sql, parts).fetchOne(); } @SuppressWarnings("deprecation") Record fetchOne(org.jooq.Template template, Object... parameters) { return resultQuery(template, parameters).fetchOne(); } @Override public Object fetchValue(String sql) { return fetchValue((ResultQuery) resultQuery(sql)); } @Override public Object fetchValue(String sql, Object... bindings) { return fetchValue((ResultQuery) resultQuery(sql, bindings)); } @Override public Object fetchValue(String sql, QueryPart... parts) { return fetchValue((ResultQuery) resultQuery(sql, parts)); } @Override public List fetchValues(String sql) { return fetchValues((ResultQuery) resultQuery(sql)); } @Override public List fetchValues(String sql, Object... bindings) { return fetchValues((ResultQuery) resultQuery(sql, bindings)); } @Override public List fetchValues(String sql, QueryPart... parts) { return fetchValues((ResultQuery) resultQuery(sql, parts)); } @Override public int execute(String sql) { return query(sql).execute(); } @Override public int execute(String sql, Object... bindings) { return query(sql, bindings).execute(); } @Override public int execute(String sql, QueryPart... parts) { return query(sql, parts).execute(); } @SuppressWarnings("deprecation") int execute(org.jooq.Template template, Object... parameters) { return query(template, parameters).execute(); } @Override public ResultQuery resultQuery(String sql) { return resultQuery(template(sql), new Object[0]); } @Override public ResultQuery resultQuery(String sql, Object... bindings) { return resultQuery(template(sql), bindings); } @Override public ResultQuery resultQuery(String sql, QueryPart... parts) { return resultQuery(template(sql), (Object[]) parts); } @SuppressWarnings("deprecation") ResultQuery resultQuery(org.jooq.Template template, Object... parameters) { return new SQLResultQuery(configuration(), queryPart(template, parameters)); } // ------------------------------------------------------------------------- // XXX JDBC convenience methods // ------------------------------------------------------------------------- @Override public Result fetch(ResultSet rs) { return fetchLazy(rs).fetch(); } @Override public Result fetch(ResultSet rs, Field... fields) { return fetchLazy(rs, fields).fetch(); } @Override public Result fetch(ResultSet rs, DataType... types) { return fetchLazy(rs, types).fetch(); } @Override public Result fetch(ResultSet rs, Class... types) { return fetchLazy(rs, types).fetch(); } @Override public Record fetchOne(ResultSet rs) { return Utils.fetchOne(fetchLazy(rs)); } @Override public Record fetchOne(ResultSet rs, Field... fields) { return Utils.fetchOne(fetchLazy(rs, fields)); } @Override public Record fetchOne(ResultSet rs, DataType... types) { return Utils.fetchOne(fetchLazy(rs, types)); } @Override public Record fetchOne(ResultSet rs, Class... types) { return Utils.fetchOne(fetchLazy(rs, types)); } @Override public Object fetchValue(ResultSet rs) { return value1((Record1) fetchOne(rs)); } @Override public T fetchValue(ResultSet rs, Field field) { return (T) value1((Record1) fetchOne(rs, field)); } @Override public T fetchValue(ResultSet rs, DataType type) { return (T) value1((Record1) fetchOne(rs, type)); } @Override public T fetchValue(ResultSet rs, Class type) { return (T) value1((Record1) fetchOne(rs, type)); } @Override public List fetchValues(ResultSet rs) { return fetch(rs).getValues(0); } @Override public List fetchValues(ResultSet rs, Field field) { return fetch(rs).getValues(field); } @Override public List fetchValues(ResultSet rs, DataType type) { return fetch(rs).getValues(0, type.getType()); } @Override public List fetchValues(ResultSet rs, Class type) { return fetch(rs).getValues(0, type); } @Override public Cursor fetchLazy(ResultSet rs) { try { return fetchLazy(rs, new MetaDataFieldProvider(configuration(), rs.getMetaData()).getFields()); } catch (SQLException e) { throw new DataAccessException("Error while accessing ResultSet meta data", e); } } @Override public Cursor fetchLazy(ResultSet rs, Field... fields) { ExecuteContext ctx = new DefaultExecuteContext(configuration()); ExecuteListener listener = new ExecuteListeners(ctx); ctx.resultSet(rs); return new CursorImpl(ctx, listener, fields, null, false, true); } @Override public Cursor fetchLazy(ResultSet rs, DataType... types) { try { Field[] fields = new Field[types.length]; ResultSetMetaData meta = rs.getMetaData(); int columns = meta.getColumnCount(); for (int i = 0; i < types.length && i < columns; i++) { fields[i] = field(meta.getColumnLabel(i + 1), types[i]); } return fetchLazy(rs, fields); } catch (SQLException e) { throw new DataAccessException("Error while accessing ResultSet meta data", e); } } @Override public Cursor fetchLazy(ResultSet rs, Class... types) { return fetchLazy(rs, Utils.dataTypes(types)); } @Override public Result fetchFromTXT(String string) { return fetchFromTXT(string, "{null}"); } @Override public Result fetchFromTXT(String string, String nullLiteral) { return fetchFromStringData(Utils.parseTXT(string, nullLiteral)); } @Override public Result fetchFromCSV(String string) { return fetchFromCSV(string, ','); } @Override public Result fetchFromCSV(String string, char delimiter) { CSVReader reader = new CSVReader(new StringReader(string), delimiter); List data = null; try { data = reader.readAll(); } catch (IOException e) { throw new DataAccessException("Could not read the CSV string", e); } finally { try { reader.close(); } catch (IOException ignore) {} } return fetchFromStringData(data); } @Override public Result fetchFromJSON(String string) { List data = new LinkedList(); JSONReader reader = null; try { reader = new JSONReader(new StringReader(string)); List records = reader.readAll(); String[] fields = reader.getFields(); data.add(fields); data.addAll(records); } catch (IOException e) { throw new DataAccessException("Could not read the JSON string", e); } finally { try { if (reader != null) { reader.close(); } } catch (IOException ignore) {} } return fetchFromStringData(data); } @Override public Result fetchFromStringData(String[]... data) { return fetchFromStringData(list(data)); } @Override public Result fetchFromStringData(List data) { if (data.size() == 0) { return new ResultImpl(configuration()); } else { List> fields = new ArrayList>(); for (String name : data.get(0)) { fields.add(fieldByName(String.class, name)); } Result result = new ResultImpl(configuration(), fields); if (data.size() > 1) { for (String[] values : data.subList(1, data.size())) { RecordImpl record = new RecordImpl(fields); for (int i = 0; i < Math.min(values.length, fields.size()); i++) { record.values[i] = values[i]; record.originals[i] = values[i]; } result.add(record); } } return result; } } // ------------------------------------------------------------------------- // XXX Global Query factory // ------------------------------------------------------------------------- @Override public WithAsStep with(String alias) { return new WithImpl(configuration(), false).with(alias); } @Override public WithAsStep with(String alias, String... fieldAliases) { return new WithImpl(configuration(), false).with(alias, fieldAliases); } @Override public WithStep with(CommonTableExpression... tables) { return new WithImpl(configuration(), false).with(tables); } @Override public WithAsStep withRecursive(String alias) { return new WithImpl(configuration(), true).with(alias); } @Override public WithAsStep withRecursive(String alias, String... fieldAliases) { return new WithImpl(configuration(), true).with(alias, fieldAliases); } @Override public WithStep withRecursive(CommonTableExpression... tables) { return new WithImpl(configuration(), true).with(tables); } @Override public SelectWhereStep selectFrom(Table table) { SelectWhereStep result = DSL.selectFrom(table); result.attach(configuration()); return result; } @Override public SelectSelectStep select(Collection> fields) { SelectSelectStep result = DSL.select(fields); result.attach(configuration()); return result; } @Override public SelectSelectStep select(Field... fields) { SelectSelectStep result = DSL.select(fields); result.attach(configuration()); return result; } // [jooq-tools] START [select] @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1) { return (SelectSelectStep) select(new Field[] { field1 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2) { return (SelectSelectStep) select(new Field[] { field1, field2 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3) { return (SelectSelectStep) select(new Field[] { field1, field2, field3 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> select(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 (SelectSelectStep) select(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); } // [jooq-tools] END [select] @Override public SelectSelectStep selectDistinct(Collection> fields) { SelectSelectStep result = DSL.selectDistinct(fields); result.attach(configuration()); return result; } @Override public SelectSelectStep selectDistinct(Field... fields) { SelectSelectStep result = DSL.selectDistinct(fields); result.attach(configuration()); return result; } // [jooq-tools] START [selectDistinct] @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1) { return (SelectSelectStep) selectDistinct(new Field[] { field1 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); } @Generated("This method was generated using jOOQ-tools") @Override public SelectSelectStep> selectDistinct(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 (SelectSelectStep) selectDistinct(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); } // [jooq-tools] END [selectDistinct] @Override public SelectSelectStep> selectZero() { SelectSelectStep> result = DSL.selectZero(); result.attach(configuration()); return result; } @Override public SelectSelectStep> selectOne() { SelectSelectStep> result = DSL.selectOne(); result.attach(configuration()); return result; } @Override public SelectSelectStep> selectCount() { SelectSelectStep> result = DSL.selectCount(); result.attach(configuration()); return result; } @Override public SelectQuery selectQuery() { return new SelectQueryImpl(null, configuration()); } @Override public SelectQuery selectQuery(TableLike table) { return new SelectQueryImpl(null, configuration(), table); } @Override public InsertQuery insertQuery(Table into) { return new InsertQueryImpl(configuration(), into); } @Override public InsertSetStep insertInto(Table into) { return new InsertImpl(configuration(), into, Collections.>emptyList()); } // [jooq-tools] START [insert] @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep1 insertInto(Table into, Field field1) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep2 insertInto(Table into, Field field1, Field field2) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep3 insertInto(Table into, Field field1, Field field2, Field field3) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep4 insertInto(Table into, Field field1, Field field2, Field field3, Field field4) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep5 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep6 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep7 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep8 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep9 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep10 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep11 insertInto(Table into, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep12 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep13 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep14 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep15 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep16 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep17 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep18 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep19 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep20 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep21 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 })); } @Generated("This method was generated using jOOQ-tools") @Override public InsertValuesStep22 insertInto(Table into, 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 new InsertImpl(configuration(), into, Arrays.asList(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 })); } // [jooq-tools] END [insert] @Override public InsertValuesStepN insertInto(Table into, Field... fields) { return new InsertImpl(configuration(), into, Arrays.asList(fields)); } @Override public InsertValuesStepN insertInto(Table into, Collection> fields) { return new InsertImpl(configuration(), into, fields); } @Override public UpdateQuery updateQuery(Table table) { return new UpdateQueryImpl(configuration(), table); } @Override public UpdateSetFirstStep update(Table table) { return new UpdateImpl(configuration(), table); } @Override public MergeUsingStep mergeInto(Table table) { return new MergeImpl(configuration(), table); } // [jooq-tools] START [merge] @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep1 mergeInto(Table table, Field field1) { return new MergeImpl(configuration(), table, Arrays.asList(field1)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep2 mergeInto(Table table, Field field1, Field field2) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep3 mergeInto(Table table, Field field1, Field field2, Field field3) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep4 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep5 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep6 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep7 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep8 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep9 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep10 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep11 mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep12 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep13 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep14 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep15 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep16 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep17 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep18 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep19 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep20 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep21 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21)); } @Generated("This method was generated using jOOQ-tools") @Override public MergeKeyStep22 mergeInto(Table table, 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 new MergeImpl(configuration(), table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22)); } // [jooq-tools] END [merge] @Override public MergeKeyStepN mergeInto(Table table, Field... fields) { return mergeInto(table, Arrays.asList(fields)); } @Override public MergeKeyStepN mergeInto(Table table, Collection> fields) { return new MergeImpl(configuration(), table, fields); } @Override public DeleteQuery deleteQuery(Table table) { return new DeleteQueryImpl(configuration(), table); } @Override public DeleteWhereStep delete(Table table) { return new DeleteImpl(configuration(), table); } // ------------------------------------------------------------------------- // XXX Batch query execution // ------------------------------------------------------------------------- @Override public Batch batch(Query... queries) { return new BatchMultiple(configuration(), queries); } @Override public Batch batch(String... queries) { Query[] result = new Query[queries.length]; for (int i = 0; i < queries.length; i++) { result[i] = query(queries[i]); } return batch(result); } @Override public Batch batch(Collection queries) { return batch(queries.toArray(new Query[queries.size()])); } @Override public BatchBindStep batch(Query query) { return new BatchSingle(configuration(), query); } @Override public BatchBindStep batch(String sql) { return batch(query(sql)); } @Override public Batch batch(Query query, Object[]... bindings) { return batch(query).bind(bindings); } @Override public Batch batch(String sql, Object[]... bindings) { return batch(query(sql), bindings); } @Override public Batch batchStore(UpdatableRecord... records) { return new BatchCRUD(configuration(), Action.STORE, records); } @Override public Batch batchStore(Collection> records) { return batchStore(records.toArray(new UpdatableRecord[records.size()])); } @Override public Batch batchInsert(TableRecord... records) { return new BatchCRUD(configuration(), Action.INSERT, records); } @Override public Batch batchInsert(Collection> records) { return batchInsert(records.toArray(new TableRecord[records.size()])); } @Override public Batch batchUpdate(UpdatableRecord... records) { return new BatchCRUD(configuration(), Action.UPDATE, records); } @Override public Batch batchUpdate(Collection> records) { return batchUpdate(records.toArray(new UpdatableRecord[records.size()])); } @Override public Batch batchDelete(UpdatableRecord... records) { return new BatchCRUD(configuration(), Action.DELETE, records); } @Override public Batch batchDelete(Collection> records) { return batchDelete(records.toArray(new UpdatableRecord[records.size()])); } // ------------------------------------------------------------------------- // XXX DDL Statements // ------------------------------------------------------------------------- @Override public CreateViewAsStep createView(String viewName, String... fieldNames) { return createView(tableByName(viewName), Utils.fieldsByName(viewName, fieldNames)); } @Override public CreateViewAsStep createView(Table view, Field... fields) { return new CreateViewImpl(configuration(), view, fields); } @Override public CreateTableAsStep createTable(String tableName) { return createTable(tableByName(tableName)); } @Override public CreateTableAsStep createTable(Table table) { return new CreateTableImpl(configuration(), table); } @Override public CreateIndexStep createIndex(String index) { return new CreateIndexImpl(configuration(), index); } @Override public CreateSequenceFinalStep createSequence(Sequence sequence) { return new CreateSequenceImpl(configuration(), sequence); } @Override public CreateSequenceFinalStep createSequence(String sequence) { return createSequence(sequenceByName(sequence)); } @Override public AlterSequenceRestartStep alterSequence(Sequence sequence) { return new AlterSequenceImpl(configuration(), sequence); } @Override public AlterSequenceRestartStep alterSequence(String sequence) { return alterSequence(sequenceByName(sequence)); } @Override public AlterTableStep alterTable(Table table) { return new AlterTableImpl(configuration(), table); } @Override public AlterTableStep alterTable(String table) { return alterTable(tableByName(table)); } @Override public DropViewFinalStep dropView(Table table) { return new DropViewImpl(configuration(), table); } @Override public DropViewFinalStep dropView(String table) { return dropView(tableByName(table)); } @Override public DropViewFinalStep dropViewIfExists(Table table) { return new DropViewImpl(configuration(), table, true); } @Override public DropViewFinalStep dropViewIfExists(String table) { return dropViewIfExists(tableByName(table)); } @Override public DropTableStep dropTable(Table table) { return new DropTableImpl(configuration(), table); } @Override public DropTableStep dropTable(String table) { return dropTable(tableByName(table)); } @Override public DropTableStep dropTableIfExists(Table table) { return new DropTableImpl(configuration(), table, true); } @Override public DropTableStep dropTableIfExists(String table) { return dropTableIfExists(tableByName(table)); } @Override public DropIndexFinalStep dropIndex(String index) { return new DropIndexImpl(configuration(), index); } @Override public DropIndexFinalStep dropIndexIfExists(String index) { return new DropIndexImpl(configuration(), index, true); } @Override public DropSequenceFinalStep dropSequence(Sequence sequence) { return new DropSequenceImpl(configuration(), sequence); } @Override public DropSequenceFinalStep dropSequence(String sequence) { return dropSequence(sequenceByName(sequence)); } @Override public DropSequenceFinalStep dropSequenceIfExists(Sequence sequence) { return new DropSequenceImpl(configuration(), sequence, true); } @Override public DropSequenceFinalStep dropSequenceIfExists(String sequence) { return dropSequenceIfExists(sequenceByName(sequence)); } @Override public TruncateIdentityStep truncate(Table table) { return new TruncateImpl(configuration(), table); } // ------------------------------------------------------------------------- // XXX Other queries for identites and sequences // ------------------------------------------------------------------------- @Override public BigInteger lastID() { switch (configuration().dialect().family()) { case DERBY: { Field field = field("identity_val_local()", BigInteger.class); return select(field).fetchOne(field); } case H2: case HSQLDB: { Field field = field("identity()", BigInteger.class); return select(field).fetchOne(field); } case CUBRID: case MARIADB: case MYSQL: { Field field = field("last_insert_id()", BigInteger.class); return select(field).fetchOne(field); } case SQLITE: { Field field = field("last_insert_rowid()", BigInteger.class); return select(field).fetchOne(field); } /* [pro] xx xxxx xxxxxxxxx x xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx x xxxx xxxxxxxxxxxxxxxxxx x xxxx xxxxxxx x xxxxxxxxxxxxxxxxx xxxxx x xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x xxxx xxxxxxx xxxx xxxx xxxx xxxxxxxxxx xxxx xxxxxxx x xxxxxxxxxxxxxxxxx xxxxx x xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x xx [/pro] */ default: throw new SQLDialectNotSupportedException("identity functionality not supported by " + configuration().dialect()); } } @Override public BigInteger nextval(String sequence) { return nextval(sequenceByName(sequence)); } @Override public T nextval(Sequence sequence) { Field nextval = sequence.nextval(); return select(nextval).fetchOne(nextval); } @Override public BigInteger currval(String sequence) { return currval(sequenceByName(sequence)); } @Override public T currval(Sequence sequence) { Field currval = sequence.currval(); return select(currval).fetchOne(currval); } // ------------------------------------------------------------------------- // XXX Global Record factory // ------------------------------------------------------------------------- @Override public Record newRecord(Field... fields) { return Utils.newRecord(false, RecordImpl.class, fields, configuration()).operate(null); } // [jooq-tools] START [newRecord] @Generated("This method was generated using jOOQ-tools") @Override public Record1 newRecord(Field field1) { return (Record1) newRecord(new Field[] { field1 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record2 newRecord(Field field1, Field field2) { return (Record2) newRecord(new Field[] { field1, field2 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record3 newRecord(Field field1, Field field2, Field field3) { return (Record3) newRecord(new Field[] { field1, field2, field3 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record4 newRecord(Field field1, Field field2, Field field3, Field field4) { return (Record4) newRecord(new Field[] { field1, field2, field3, field4 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record5 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5) { return (Record5) newRecord(new Field[] { field1, field2, field3, field4, field5 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record6 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return (Record6) newRecord(new Field[] { field1, field2, field3, field4, field5, field6 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record7 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return (Record7) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record8 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return (Record8) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record9 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return (Record9) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record10 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return (Record10) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record11 newRecord(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return (Record11) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record12 newRecord(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 (Record12) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record13 newRecord(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 (Record13) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record14 newRecord(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 (Record14) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record15 newRecord(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 (Record15) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record16 newRecord(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 (Record16) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record17 newRecord(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 (Record17) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record18 newRecord(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 (Record18) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record19 newRecord(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 (Record19) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record20 newRecord(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 (Record20) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record21 newRecord(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 (Record21) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); } @Generated("This method was generated using jOOQ-tools") @Override public Record22 newRecord(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 (Record22) newRecord(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); } // [jooq-tools] END [newRecord] @Override public > R newRecord(UDT type) { return Utils.newRecord(false, type, configuration()).operate(null); } @Override public R newRecord(Table table) { return Utils.newRecord(false, table, configuration()).operate(null); } @Override public R newRecord(Table table, final Object source) { return Utils.newRecord(false, table, configuration()) .operate(new RecordOperation() { @Override public R operate(R record) { record.from(source); return record; } }); } @Override public Result newResult(Table table) { return new ResultImpl(configuration(), table.fields()); } @Override public Result newResult(Field... fields) { return new ResultImpl(configuration(), fields); } // [jooq-tools] START [newResult] @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1) { return (Result) newResult(new Field[] { field1 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2) { return (Result) newResult(new Field[] { field1, field2 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3) { return (Result) newResult(new Field[] { field1, field2, field3 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4) { return (Result) newResult(new Field[] { field1, field2, field3, field4 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { return (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 }); } @Generated("This method was generated using jOOQ-tools") @Override public Result> newResult(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 (Result) newResult(new Field[] { field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22 }); } // [jooq-tools] END [newResult] // ------------------------------------------------------------------------- // XXX Executing queries // ------------------------------------------------------------------------- @Override public Result fetch(ResultQuery query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return query.fetch(); } finally { query.attach(previous); } } @Override public Cursor fetchLazy(ResultQuery query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return query.fetchLazy(); } finally { query.attach(previous); } } @Override public List> fetchMany(ResultQuery query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return query.fetchMany(); } finally { query.attach(previous); } } @Override public R fetchOne(ResultQuery query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return query.fetchOne(); } finally { query.attach(previous); } } @Override public > T fetchValue(ResultQuery query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return value1(fetchOne(query)); } finally { query.attach(previous); } } @Override public > List fetchValues(ResultQuery query) { return (List) fetch(query).getValues(0); } private final > T value1(R record) { if (record == null) return null; if (record.size() != 1) throw new InvalidResultException("Record contains more than one value : " + record); return record.value1(); } @Override public int fetchCount(Select query) { return new FetchCount(configuration(), query).fetchOne().value1(); } @Override public int fetchCount(Table table) { return fetchCount(table, trueCondition()); } @Override public int fetchCount(Table table, Condition condition) { return selectCount().from(table).where(condition).fetchOne(0, int.class); } @Override public boolean fetchExists(Select query) throws DataAccessException { return selectOne().whereExists(query).fetchOne() != null; } @Override public boolean fetchExists(Table table) throws DataAccessException { return fetchExists(table, trueCondition()); } @Override public boolean fetchExists(Table table, Condition condition) throws DataAccessException { return fetchExists(selectOne().from(table).where(condition)); } @Override public int execute(Query query) { final Configuration previous = Utils.getConfiguration(query); try { query.attach(configuration()); return query.execute(); } finally { query.attach(previous); } } // ------------------------------------------------------------------------- // XXX Fast querying // ------------------------------------------------------------------------- @Override public Result fetch(Table table) { return fetch(table, trueCondition()); } @Override public Result fetch(Table table, Condition condition) { return selectFrom(table).where(condition).fetch(); } @Override public R fetchOne(Table table) { return Utils.fetchOne(fetchLazy(table)); } @Override public R fetchOne(Table table, Condition condition) { return Utils.fetchOne(fetchLazy(table, condition)); } @Override public R fetchAny(Table table) { return Utils.filterOne(selectFrom(table).limit(1).fetch()); } @Override public R fetchAny(Table table, Condition condition) { return Utils.filterOne(selectFrom(table).where(condition).limit(1).fetch()); } @Override public Cursor fetchLazy(Table table) { return fetchLazy(table, trueCondition()); } @Override public Cursor fetchLazy(Table table, Condition condition) { return selectFrom(table).where(condition).fetchLazy(); } @Override public > int executeInsert(R record) { InsertQuery insert = insertQuery(record.getTable()); insert.setRecord(record); return insert.execute(); } @Override public > int executeUpdate(R record) { UpdateQuery update = updateQuery(record.getTable()); Utils.addConditions(update, record, record.getTable().getPrimaryKey().getFieldsArray()); update.setRecord(record); return update.execute(); } @Override public , T> int executeUpdate(R record, Condition condition) { UpdateQuery update = updateQuery(record.getTable()); update.addConditions(condition); update.setRecord(record); return update.execute(); } @Override public > int executeDelete(R record) { DeleteQuery delete = deleteQuery(record.getTable()); Utils.addConditions(delete, record, record.getTable().getPrimaryKey().getFieldsArray()); return delete.execute(); } @Override public , T> int executeDelete(R record, Condition condition) { DeleteQuery delete = deleteQuery(record.getTable()); delete.addConditions(condition); return delete.execute(); } // ------------------------------------------------------------------------- // XXX Static initialisation of dialect-specific data types // ------------------------------------------------------------------------- static { // Load all dialect-specific data types // TODO [#650] Make this more reliable using a data type registry try { Class.forName(SQLDataType.class.getName()); } catch (Exception ignore) {} } // ------------------------------------------------------------------------- // XXX Internals // ------------------------------------------------------------------------- @Override public String toString() { return configuration().toString(); } }