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

tech.ydb.jooq.dsl.upsert.UpsertValuesStep2 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.Record2;
import org.jooq.Row2;
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)
 *       .values(field1, field2)
 *       .values(field1, field2)
 *       .execute();
 * 
*/ public interface UpsertValuesStep2 extends Upsert { /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep2 values(T1 value1, T2 value2); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep2 values(Field value1, Field value2); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep2 values(Collection values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep2 values(Row2 values); /** * Add a single row of values to the upsert statement. */ @CheckReturnValue UpsertValuesStep2 values(Record2 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) */ @CheckReturnValue @SuppressWarnings("unchecked") UpsertValuesStep2 valuesOfRows(Row2... 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) */ @CheckReturnValue UpsertValuesStep2 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") UpsertValuesStep2 valuesOfRecords(Record2... 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 UpsertValuesStep2 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)} */ @CheckReturnValue Upsert select(Select> select); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy