tech.ydb.jooq.dsl.upsert.UpsertValuesStep18 Maven / Gradle / Ivy
package tech.ydb.jooq.dsl.upsert;
import java.util.Collection;
import java.util.function.Function;
import org.jooq.CheckReturnValue;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record18;
import org.jooq.Row18;
import org.jooq.Rows;
import org.jooq.Select;
import org.jooq.Table;
import tech.ydb.jooq.Upsert;
import tech.ydb.jooq.YdbDSLContext;
/**
* This type is used for the {@link Upsert}'s DSL API.
*
* Example:
* using(configuration)
* .upsertInto(table, field1, field2, field3, .., field17, field18)
* .values(valueA1, valueA2, valueA3, .., valueA17, valueA18)
* .values(valueB1, valueB2, valueB3, .., valueB17, valueB18)
* .execute();
*
*/
public interface UpsertValuesStep18 extends Upsert {
/**
* Add a single row of values to the upsert statement.
*/
@CheckReturnValue
UpsertValuesStep18 values(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17, T18 value18);
/**
* Add a single row of values to the upsert statement.
*/
@CheckReturnValue
UpsertValuesStep18 values(Field value1, Field value2, Field value3, Field value4, Field value5, Field value6, Field value7, Field value8, Field value9, Field value10, Field value11, Field value12, Field value13, Field value14, Field value15, Field value16, Field value17, Field value18);
/**
* Add a single row of values to the upsert statement.
*/
@CheckReturnValue
UpsertValuesStep18 values(Collection> values);
/**
* Add a single row of values to the upsert statement.
*/
@CheckReturnValue
UpsertValuesStep18 values(Row18 values);
/**
* Add a single row of values to the upsert statement.
*/
@CheckReturnValue
UpsertValuesStep18 values(Record18 values);
/**
* Add multiple rows of values to the upsert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* @see Rows#toRowArray(Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function)
*/
@CheckReturnValue
@SuppressWarnings("unchecked")
UpsertValuesStep18 valuesOfRows(Row18... values);
/**
* Add multiple rows of values to the upsert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* @see Rows#toRowList(Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function)
*/
@CheckReturnValue
UpsertValuesStep18 valuesOfRows(Collection extends Row18> values);
/**
* Add multiple rows of values to the upsert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* Note: Irrespective of individual {@link Record#changed()}
* flag values, all record values are copied to the VALUES
clause
* using {@link Record#intoArray()}, to match upsert columns by position, not
* by name. If you prefer omitting unchanged values and adding values by field
* name rather than by index, use {@link UpsertSetStep#set(Record...)} instead.
* That syntax is available only if you omit the explicit upsert columns list.
*/
@CheckReturnValue
@SuppressWarnings("unchecked")
UpsertValuesStep18 valuesOfRecords(Record18... values);
/**
* Add multiple rows of values to the upsert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* Note: Irrespective of individual {@link Record#changed()}
* flag values, all record values are copied to the VALUES
clause
* using {@link Record#intoArray()}, to match upsert columns by position, not
* by name. If you prefer omitting unchanged values and adding values by field
* name rather than by index, use {@link UpsertSetStep#set(Record...)} instead.
* That syntax is available only if you omit the explicit upsert columns list.
*/
@CheckReturnValue
UpsertValuesStep18 valuesOfRecords(Collection extends Record18> values);
/**
* Use a SELECT
statement as the source of values for the
* UPSERT
statement
*
* This variant of the UPSERT … SELECT
statement expects a
* select returning exactly as many fields as specified previously in the
* INTO
clause:
* {@link YdbDSLContext#upsertInto(Table, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field)}
*/
@CheckReturnValue
Upsert select(Select extends Record18> select);
}