org.jooq.DSLContext Maven / Gradle / Ivy
Show all versions of hello-world-plugin Show documentation
/*
* Copyright (c) 2009-2016, Data Geekery GmbH (http://www.datageekery.com)
* All rights reserved.
*
* 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.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* ASL 2.0 and offer limited warranties, support, maintenance, and commercial
* database integrations.
*
* For more information, please visit: http://www.jooq.org/licenses
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq;
// ...
// ...
import static org.jooq.SQLDialect.CUBRID;
// ...
import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.FIREBIRD_3_0;
import static org.jooq.SQLDialect.H2;
// ...
import static org.jooq.SQLDialect.HSQLDB;
// ...
// ...
import static org.jooq.SQLDialect.MARIADB;
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
import static org.jooq.SQLDialect.POSTGRES_9_5;
// ...
import static org.jooq.SQLDialect.SQLITE;
// ...
// ...
// ...
// ...
import java.math.BigInteger;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.Executor;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.Stream;
import javax.annotation.Generated;
import org.jooq.conf.ParamType;
import org.jooq.conf.Settings;
import org.jooq.conf.StatementType;
import org.jooq.exception.ConfigurationException;
import org.jooq.exception.DataAccessException;
import org.jooq.exception.InvalidResultException;
import org.jooq.exception.MappingException;
import org.jooq.exception.TooManyRowsException;
import org.jooq.impl.DSL;
import org.jooq.impl.ThreadLocalTransactionProvider;
import org.jooq.tools.jdbc.MockCallable;
import org.jooq.tools.jdbc.MockDataProvider;
import org.jooq.tools.jdbc.MockRunnable;
import org.jooq.util.xml.jaxb.InformationSchema;
/**
* A contextual DSL providing "attached" implementations to the
* org.jooq
interfaces.
*
* Apart from the {@link DSL}, this contextual DSL is the main entry point
* for client code, to access jOOQ classes and functionality that are related to
* {@link Query} execution. Unlike objects created through the
* DSL
type, objects created from a DSLContext
will be
* "attached" to the DSLContext
's {@link #configuration()}, such
* that they can be executed immediately in a fluent style. An example is given
* here:
*
*
* DSLContext create = DSL.using(connection, dialect);
*
* // Immediately fetch results after constructing a query
* create.selectFrom(MY_TABLE).where(MY_TABLE.ID.eq(1)).fetch();
*
* // The above is equivalent to this "non-fluent" style
* create.fetch(DSL.selectFrom(MY_TABLE).where(MY_TABLE.ID.eq(1)));
*
*
* The DSL
provides convenient constructors to create a
* {@link Configuration}, which will be shared among all Query
* objects thus created. Optionally, you can pass a reusable
* Configuration
to the {@link DSL#using(Configuration)}
* constructor. Please consider thread-safety concerns documented in
* {@link Configuration}, should you want to reuse the same
* Configuration
instance in various threads and / or transactions.
*
* @see DSL
* @see Configuration
* @author Lukas Eder
*/
public interface DSLContext extends Scope , AutoCloseable {
// -------------------------------------------------------------------------
// XXX AutoCloseable API
// -------------------------------------------------------------------------
/**
* Close the underlying resources, if any resources have been allocated when
* constructing this DSLContext
.
*
* Some {@link DSLContext} constructors, such as {@link DSL#using(String)},
* {@link DSL#using(String, Properties)}, or
* {@link DSL#using(String, String, String)} allocate a {@link Connection}
* resource, which is inaccessible to the outside of the {@link DSLContext}
* implementation. Proper resource management must thus be done via this
* {@link #close()} method.
*
* @throws DataAccessException When something went wrong closing the
* underlying resources.
*/
@Override
void close() throws DataAccessException;
// -------------------------------------------------------------------------
// XXX Configuration API
// -------------------------------------------------------------------------
/**
* Map a schema to another one.
*
* This will map a schema onto another one, depending on configured schema
* mapping in this DSLContext
. If no applicable schema mapping
* can be found, the schema itself is returned.
*
* @param schema A schema
* @return The mapped schema
*/
Schema map(Schema schema);
/**
* Map a table to another one.
*
* This will map a table onto another one, depending on configured table
* mapping in this DSLContext
. If no applicable table mapping can
* be found, the table itself is returned.
*
* @param table A table
* @return The mapped table
*/
Table map(Table table);
// -------------------------------------------------------------------------
// XXX Convenience methods accessing the underlying Connection
// -------------------------------------------------------------------------
/**
* Access the parser API.
*
* @deprecated - [#2303] This is experimental functionality.
*/
@Deprecated
Parser parser();
/**
* Access the database meta data.
*
* This method returns a wrapper type that gives access to your JDBC
* connection's database meta data.
*/
Meta meta();
/**
* Access the databse meta data from its serialised form.
*/
Meta meta(InformationSchema schema);
/**
* Export a catalog to the {@link InformationSchema} format.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Catalog catalog);
/**
* Export a set of catalogs to the {@link InformationSchema} format.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Catalog... catalogs);
/**
* Export a schema to the {@link InformationSchema} format.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Schema schema);
/**
* Export a set of schemas to the {@link InformationSchema} format.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Schema... schemas);
/**
* Export a table to the {@link InformationSchema} format.
*
* Exporting a single table will not include any foreign key definitions in
* the exported data.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Table> table);
/**
* Export a set of tables to the {@link InformationSchema} format.
*
* Only those foreign keys whose referenced table is also included in the
* export will be exported.
*
* This allows for serialising schema meta information as XML using JAXB.
* See also {@link Constants#XSD_META} for details.
*/
InformationSchema informationSchema(Table>... table);
// -------------------------------------------------------------------------
// XXX APIs for creating scope for transactions, mocking, batching, etc.
// -------------------------------------------------------------------------
/**
* Run a {@link TransactionalCallable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and return the
* transactional
's outcome.
*
* The argument transactional code should not capture any scope but derive
* its {@link Configuration} from the
* {@link TransactionalCallable#run(Configuration)} argument in order to
* create new statements.
*
* @param transactional The transactional code
* @return The transactional outcome
*/
T transactionResult(TransactionalCallable transactional);
/**
* Run a {@link ContextTransactionalRunnable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and return the
* transactional
's outcome.
*
* The argument transactional code may capture scope to derive its
* {@link Configuration} from the "context" in order to create new
* statements. This context can be provided, for instance, by
* {@link ThreadLocalTransactionProvider} automatically.
*
* @param transactional The transactional code
* @return The transactional outcome
* @throws ConfigurationException if the underlying
* {@link Configuration#transactionProvider()} is not able to
* provide context (i.e. currently, it is not a
* {@link ThreadLocalTransactionProvider}).
*/
T transactionResult(ContextTransactionalCallable transactional) throws ConfigurationException;
/**
* Run a {@link TransactionalRunnable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}.
*
* The argument transactional code should not capture any scope but derive
* its {@link Configuration} from the
* {@link TransactionalCallable#run(Configuration)} argument in order to
* create new statements.
*
* @param transactional The transactional code
*/
void transaction(TransactionalRunnable transactional);
/**
* Run a {@link ContextTransactionalRunnable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}.
*
* The argument transactional code may capture scope to derive its
* {@link Configuration} from the "context" in order to create new
* statements. This context can be provided, for instance, by
* {@link ThreadLocalTransactionProvider} automatically.
*
* @param transactional The transactional code
* @throws ConfigurationException if the underlying
* {@link Configuration#transactionProvider()} is not able to
* provide context (i.e. currently, it is not a
* {@link ThreadLocalTransactionProvider}).
*/
void transaction(ContextTransactionalRunnable transactional) throws ConfigurationException;
/**
* Run a {@link TransactionalCallable} asynchronously.
*
* The TransactionCallable
is run in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and returns the
* transactional
's outcome in a new {@link CompletionStage}
* that is asynchronously completed by a task run by an {@link Executor}
* provided by the underlying {@link #configuration()}'s
* {@link Configuration#executorProvider()}.
*
* @param transactional The transactional code
* @return The transactional outcome
* @throws ConfigurationException If this is run with a
* {@link ThreadLocalTransactionProvider}.
*/
CompletionStage transactionResultAsync(TransactionalCallable transactional) throws ConfigurationException;
/**
* Run a {@link TransactionalRunnable} asynchronously.
*
* The TransactionRunnable
is run in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and returns the
* transactional
's outcome in a new {@link CompletionStage}
* that is asynchronously completed by a task run by an {@link Executor}
* provided by the underlying {@link #configuration()}'s
* {@link Configuration#executorProvider()}.
*
* @param transactional The transactional code
* @throws ConfigurationException If this is run with a
* {@link ThreadLocalTransactionProvider}.
*/
CompletionStage transactionAsync(TransactionalRunnable transactional) throws ConfigurationException;
/**
* Run a {@link TransactionalCallable} asynchronously.
*
* The TransactionCallable
is run in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and returns the
* transactional
's outcome in a new {@link CompletionStage}
* that is asynchronously completed by a task run by a given
* {@link Executor}.
*
* @param transactional The transactional code
* @return The transactional outcome
* @throws ConfigurationException If this is run with a
* {@link ThreadLocalTransactionProvider}.
*/
CompletionStage transactionResultAsync(Executor executor, TransactionalCallable transactional) throws ConfigurationException;
/**
* Run a {@link TransactionalRunnable} asynchronously.
*
* The TransactionRunnable
is run in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#transactionProvider()}, and returns the
* transactional
's outcome in a new {@link CompletionStage}
* that is asynchronously completed by a task run by a given
* {@link Executor}.
*
* @param transactional The transactional code
* @throws ConfigurationException If this is run with a
* {@link ThreadLocalTransactionProvider}.
*/
CompletionStage transactionAsync(Executor executor, TransactionalRunnable transactional) throws ConfigurationException;
/**
* Run a {@link ConnectionCallable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#connectionProvider()}.
*
* @param runnable The code running statements against the
* connection
.
* @return The outcome of the callable
*/
T connectionResult(ConnectionCallable callable);
/**
* Run a {@link ConnectionRunnable} in the context of this
* DSLContext
's underlying {@link #configuration()}'s
* {@link Configuration#connectionProvider()}.
*
* @param runnable The code running statements against the
* connection
.
*/
void connection(ConnectionRunnable runnable);
/**
* Run a {@link MockRunnable} in the context of this DSLContext
* 's underlying {@link #configuration()}'s, and of a
* {@link MockDataProvider} and return the mockable
's outcome.
*/
T mockResult(MockDataProvider provider, MockCallable mockable);
/**
* Run a {@link MockRunnable} in the context of this DSLContext
* 's underlying {@link #configuration()}'s, and of a
* {@link MockDataProvider}.
*/
void mock(MockDataProvider provider, MockRunnable mockable);
// -------------------------------------------------------------------------
// XXX RenderContext and BindContext accessors
// -------------------------------------------------------------------------
/**
* Get a new {@link RenderContext} for the context of this DSLContext
.
*
* This will return an initialised render context as such:
*
* -
*
{@link RenderContext#castMode()} == {@link org.jooq.RenderContext.CastMode#DEFAULT DEFAULT}
*
* -
{@link RenderContext#declareFields()} == false
* -
{@link RenderContext#declareTables()} == false
* -
{@link RenderContext#format()} == false
* -
{@link RenderContext#paramType()} == {@link ParamType#INDEXED}
* -
{@link RenderContext#qualify()} == true
* -
{@link RenderContext#subquery()} == false
*
*/
RenderContext renderContext();
/**
* Render a QueryPart in the context of this DSLContext
.
*
* This is the same as calling renderContext().render(part)
*
* @param part The {@link QueryPart} to be rendered
* @return The rendered SQL
*/
String render(QueryPart part);
/**
* Render a QueryPart in the context of this DSLContext
, rendering bind
* variables as named parameters.
*
* This is the same as calling
* renderContext().paramType(NAMED).render(part)
*
* @param part The {@link QueryPart} to be rendered
* @return The rendered SQL
*/
String renderNamedParams(QueryPart part);
/**
* Render a QueryPart in the context of this DSLContext
, rendering bind
* variables as named parameters, or inlined parameters if they have no name.
*
* This is the same as calling
* renderContext().paramType(NAMED_OR_INLINED).render(part)
*
* @param part The {@link QueryPart} to be rendered
* @return The rendered SQL
*/
String renderNamedOrInlinedParams(QueryPart part);
/**
* Render a QueryPart in the context of this DSLContext
, inlining all bind
* variables.
*
* This is the same as calling
* renderContext().inline(true).render(part)
*
* @param part The {@link QueryPart} to be rendered
* @return The rendered SQL
*/
String renderInlined(QueryPart part);
/**
* Retrieve the bind values that will be bound by a given
* QueryPart
.
*
* The returned List
is immutable. To modify bind values, use
* {@link #extractParams(QueryPart)} instead.
*
* Unlike {@link #extractParams(QueryPart)}, which returns also inlined
* parameters, this returns only actual bind values that will render an
* actual bind value as a question mark "?"
*/
List
*
* @param string The HTML-formatted string.
* @return The transformed result. This will never be null
.
* @throws DataAccessException If the supplied string does not adhere to the
* above format rules.
*/
@Support
Result
* This is the same as calling fetchFromCSV(string, ',')
and
* the inverse of calling {@link Result#formatCSV()}. The first row of the
* CSV data is required to hold field name information. Subsequent rows may
* contain data, which is interpreted as {@link String}. Use the various
* conversion methods to retrieve other data types from the
* Result
:
*
-
*
- {@link Result#getValues(Field, Class)} *
- {@link Result#getValues(int, Class)} *
- {@link Result#getValues(String, Class)} *
- {@link Result#getValues(Field, Converter)} *
- {@link Result#getValues(int, Converter)} *
- {@link Result#getValues(String, Converter)} *
* Missing values result in
* This is inverse of calling {@link Result#formatCSV(char)}. The first row
* of the CSV data is required to hold field name information. Subsequent
* rows may contain data, which is interpreted as {@link String}. Use the
* various conversion methods to retrieve other data types from the
*
* Missing values result in
* This is the same as calling
* Missing values result in
* This is inverse of calling {@link Result#formatCSV(boolean, char)}. Rows
* may contain data, which are interpreted as {@link String}. Use the
* various conversion methods to retrieve other data types from the
*
* Missing values result in
* This is the inverse of calling {@link Result#formatJSON()}. Use the
* various conversion methods to retrieve other data types from the
*
* Missing values result in
* This is used by methods such as
*
* This is used by methods such as
*
* This is used by methods such as
*
* The
* The
* The
* This works in a similar way as {@link #with(String, String...)}, except
* that all column names are produced by a function that receives the CTE's
* {@link Select} columns as input.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep with(String alias, Function super Field>, ? extends String> fieldNameFunction);
/**
* Create a
* The
* This works in a similar way as {@link #with(String, String...)}, except
* that all column names are produced by a function that receives the CTE's
* {@link Select} columns and their column indexes as input.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep with(String alias, BiFunction super Field>, ? super Integer, ? extends String> fieldNameFunction);
// [jooq-tools] START [with]
/**
* Create a
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* The
* Reusable {@link CommonTableExpression} types can be constructed through
*
* The
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* This works in a similar way as {@link #with(String, String...)}, except
* that all column names are produced by a function that receives the CTE's
* {@link Select} columns as input.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep withRecursive(String alias, Function super Field>, ? extends String> fieldNameFunction);
/**
* Create a
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* This works in a similar way as {@link #with(String, String...)}, except
* that all column names are produced by a function that receives the CTE's
* {@link Select} columns and their column indexes as input.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep withRecursive(String alias, BiFunction super Field>, ? super Integer, ? extends String> fieldNameFunction);
// [jooq-tools] START [with-recursive]
/**
* Create a
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* Reusable {@link CommonTableExpression} types can be constructed through
*
* The
* Note that the {@link SQLDialect#H2} database only supports single-table,
*
* Example:
* This creates an attached, renderable and executable
* Example:
* Note that passing an empty collection conveniently produces
*
* This creates an attached, renderable and executable
* Example:
* Note that passing an empty collection conveniently produces
*
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Field#in(Select)}, {@link Field#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row2#in(Select)}, {@link Row2#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row3#in(Select)}, {@link Row3#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row4#in(Select)}, {@link Row4#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row5#in(Select)}, {@link Row5#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row6#in(Select)}, {@link Row6#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row7#in(Select)}, {@link Row7#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row8#in(Select)}, {@link Row8#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row9#in(Select)}, {@link Row9#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row10#in(Select)}, {@link Row10#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row11#in(Select)}, {@link Row11#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row12#in(Select)}, {@link Row12#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row13#in(Select)}, {@link Row13#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row14#in(Select)}, {@link Row14#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row15#in(Select)}, {@link Row15#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row16#in(Select)}, {@link Row16#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row17#in(Select)}, {@link Row17#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row18#in(Select)}, {@link Row18#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example:
* This is the same as {@link #select(Field...)}, except that it
* declares additional record-level typesafety, which is needed by
* {@link Row19#in(Select)}, {@link Row19#equal(Select)} and other predicate
* building methods taking subselect arguments.
*
* This creates an attached, renderable and executable
* Example: null
. Empty values result in empty
* Strings
*
* @param string The CSV string
* @return The transformed result. This will never be null
.
* @throws DataAccessException If anything went wrong parsing the CSV file
* @see #fetchFromCSV(String, char)
*/
@Support
ResultResult
:
*
*
* null
. Empty values result in empty
* Strings
*
* @param string The CSV string
* @param delimiter The delimiter to expect between records
* @return The transformed result. This will never be null
.
* @throws DataAccessException If anything went wrong parsing the CSV file
* @see #fetchFromCSV(String)
* @see #fetchFromStringData(List)
*/
@Support
ResultfetchFromCSV(string, ',')
and
* the inverse of calling {@link Result#formatCSV(boolean)}. Rows may
* contain data, which is interpreted as {@link String}. Use the various
* conversion methods to retrieve other data types from the
* Result
:
*
*
* null
. Empty values result in empty
* Strings
*
* @param string The CSV string
* @param header Whether to parse the first line as a CSV header line
* @return The transformed result. This will never be null
.
* @throws DataAccessException If anything went wrong parsing the CSV file
* @see #fetchFromCSV(String, char)
*/
@Support
ResultResult
:
*
*
* null
. Empty values result in empty
* Strings
*
* @param string The CSV string
* @param header Whether to parse the first line as a CSV header line
* @param delimiter The delimiter to expect between records
* @return The transformed result. This will never be null
.
* @throws DataAccessException If anything went wrong parsing the CSV file
* @see #fetchFromCSV(String)
* @see #fetchFromStringData(List)
*/
@Support
ResultResult
:
*
*
* null
. Empty values result in empty
* Strings
*
* @param string The JSON string
* @return The transformed result. This will never be null
.
* @throws DataAccessException If anything went wrong parsing the JSON file
*/
@Support
Result
*
* The first element of the argument list should contain column names.
* Subsequent elements contain actual data. The degree of all arrays
* contained in the argument should be the same, although this is not a
* requirement. jOOQ will ignore excess data, and fill missing data with
* null
.
*
* @param data The data to be transformed into a Result
* @return The transformed result. This will never be null
.
* @see #fetchFromStringData(List)
*/
Result
*
* The first element of the argument list should contain column names.
* Subsequent elements contain actual data. The degree of all arrays
* contained in the argument should be the same, although this is not a
* requirement. jOOQ will ignore excess data, and fill missing data with
* null
.
*
* @param data The data to be transformed into a Result
* @return The transformed result. This will never be null
.
*/
Result
*
* The degree of all arrays contained in the argument should be the same,
* although this is not a requirement. jOOQ will ignore excess data, and
* fill missing data with null
.
*
* @param data The data to be transformed into a Result
* @param header Whether to interpret the first line as a set of column
* names.
* @return The transformed result. This will never be null
.
*/
ResultWITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String)} for strictly non-recursive CTE
* and {@link #withRecursive(String)} for strictly
* recursive CTE.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep with(String alias);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep with(String alias, String... fieldAliases);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE and
* {@link #withRecursive(String, String...)} for strictly recursive CTE.
* WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE and
* {@link #withRecursive(String, String...)} for strictly recursive CTE.
* WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep1 with(String alias, String fieldAlias1);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep2 with(String alias, String fieldAlias1, String fieldAlias2);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep3 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep4 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep5 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep6 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep7 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep8 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep9 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep10 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep11 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep12 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep13 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep14 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep15 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep16 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep17 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep18 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep19 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep20 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep21 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithAsStep22 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21, String fieldAlias22);
// [jooq-tools] END [with]
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
*
*
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(CommonTableExpression...)} for strictly non-recursive CTE
* and {@link #withRecursive(CommonTableExpression...)} for strictly
* recursive CTE.
*/
@Support({ FIREBIRD, HSQLDB, POSTGRES })
WithStep with(CommonTableExpression>... tables);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String)} for strictly non-recursive CTE
* and {@link #withRecursive(String)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep withRecursive(String alias);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep withRecursive(String alias, String... fieldAliases);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
* WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
* WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep1 withRecursive(String alias, String fieldAlias1);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep2 withRecursive(String alias, String fieldAlias1, String fieldAlias2);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep3 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep4 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep5 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep6 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep7 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep8 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep9 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep10 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep11 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep12 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep13 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep14 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep15 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep16 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep17 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep18 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep19 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep20 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep21 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21);
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(String, String...)} for strictly non-recursive CTE
* and {@link #withRecursive(String, String...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Generated("This method was generated using jOOQ-tools")
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithAsStep22 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21, String fieldAlias22);
// [jooq-tools] END [with-recursive]
/**
* Create a WITH
clause to supply subsequent
* SELECT
, UPDATE
, INSERT
,
* DELETE
, and MERGE
statements with
* {@link CommonTableExpression}s.
*
*
* RECURSIVE
keyword may be optional or unsupported in some
* databases, in case of which it will not be rendered. For optimal database
* interoperability and readability, however, it is suggested that you use
* {@link #with(CommonTableExpression...)} for strictly non-recursive CTE
* and {@link #withRecursive(CommonTableExpression...)} for strictly
* recursive CTE.
* RECURSIVE
common table expression lists.
*/
@Support({ FIREBIRD, H2, HSQLDB, POSTGRES })
WithStep withRecursive(CommonTableExpression>... tables);
/**
* Create a new DSL select statement.
*
*/
@Support
* SELECT * FROM [table] WHERE [conditions] ORDER BY [ordering] LIMIT [limit clause]
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(Collection)} instead.
*
*
* DSLContext create = DSL.using(configuration);
*
* create.select(fields)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT *
semantics, i.e. it:
*
*
*
* @see DSL#select(Collection)
*/
@Support
SelectSelectStepSELECT tab1.col1, tab1.col2, ..., tabN.colN
if
* all columns are knownSELECT *
if not all columns are known, e.g. when
* using plain SQLSELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(Field...)} instead.
*
*
* DSLContext create = DSL.using(configuration);
*
* create.select(field1, field2)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2)
* .execute();
*
SELECT *
semantics, i.e. it:
*
*
*
* @see DSL#select(Field...)
*/
@Support
SelectSelectStepSELECT tab1.col1, tab1.col2, ..., tabN.colN
if
* all columns are knownSELECT *
if not all columns are known, e.g. when
* using plain SQLSELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, field4)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, field4, field5)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field5, field6)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field6, field7)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field7, field8)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field8, field9)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field9, field10)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field10, field11)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field11, field12)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field12, field13)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field13, field14)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field14, field15)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field15, field16)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field16, field17)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field17, field18)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*
SELECT
* statement from this {@link DSLContext}. If you don't need to render or
* execute this SELECT
statement (e.g. because you want to
* create a subselect), consider using the static
* {@link DSL#select(SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField, SelectField)} instead.
*
*
* @see DSL#selectDistinct(SelectField...)
* @see #selectDistinct(SelectField...)
*/
@Generated("This method was generated using jOOQ-tools")
@Support
* using(configuration)
* .select(field1, field2, field3, .., field18, field19)
* .from(table1)
* .join(table2).on(field1.equal(field2))
* .where(field1.greaterThan(100))
* .orderBy(field2);
*