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

tech.ydb.jooq.dsl.upsert.UpsertValuesStep5 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.Record5;
import org.jooq.Row5;
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, field4, field5)
 *       .values(field1, field2, field3, field4, field5)
 *       .values(field1, field2, field3, field4, field5)
 *       .execute();
 * 
*/ public interface UpsertValuesStep5 extends Upsert { /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep5 values(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep5 values(Field value1, Field value2, Field value3, Field value4, Field value5); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep5 values(Collection values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep5 values(Row5 values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep5 values(Record5 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) */ @CheckReturnValue @SuppressWarnings("unchecked") UpsertValuesStep5 valuesOfRows(Row5... 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) */ @CheckReturnValue UpsertValuesStep5 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") UpsertValuesStep5 valuesOfRecords(Record5... 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 UpsertValuesStep5 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)} */ @CheckReturnValue Upsert select(Select> select); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy