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

tech.ydb.jooq.dsl.upsert.UpsertValuesStep12 Maven / Gradle / Ivy

The newest version!
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.Record12;
import org.jooq.Row12;
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, .., field11, field12)
 *       .values(valueA1, valueA2, valueA3, .., valueA11, valueA12)
 *       .values(valueB1, valueB2, valueB3, .., valueB11, valueB12)
 *       .execute();
 * 
*/ public interface UpsertValuesStep12 extends Upsert { /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep12 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); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep12 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); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep12 values(Collection values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep12 values(Row12 values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep12 values(Record12 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) */ @CheckReturnValue @SuppressWarnings("unchecked") UpsertValuesStep12 valuesOfRows(Row12... 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) */ @CheckReturnValue UpsertValuesStep12 valuesOfRows(Collection> 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") UpsertValuesStep12 valuesOfRecords(Record12... 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 UpsertValuesStep12 valuesOfRecords(Collection> 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)} */ @CheckReturnValue Upsert select(Select> select); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy