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

tech.ydb.jooq.dsl.replace.ReplaceValuesStep4 Maven / Gradle / Ivy

The newest version!
package tech.ydb.jooq.dsl.replace;

import java.util.Collection;
import java.util.function.Function;
import org.jooq.CheckReturnValue;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record4;
import org.jooq.Row4;
import org.jooq.Rows;
import org.jooq.Select;
import org.jooq.Table;
import tech.ydb.jooq.Replace;
import tech.ydb.jooq.YdbDSLContext;

/**
 * This type is used for the {@link Replace}'s DSL API.
 * 

* Example:


 * using(configuration)
 *       .replaceInto(table, field1, field2, field3, field4)
 *       .values(field1, field2, field3, field4)
 *       .values(field1, field2, field3, field4)
 *       .execute();
 * 
*/ public interface ReplaceValuesStep4 extends Replace { /** * Add a single row of values to the replace statement. */ @CheckReturnValue ReplaceValuesStep4 values(T1 value1, T2 value2, T3 value3, T4 value4); /** * Add a single row of values to the replace statement. */ @CheckReturnValue ReplaceValuesStep4 values(Field value1, Field value2, Field value3, Field value4); /** * Add a single row of values to the replace statement. */ @CheckReturnValue ReplaceValuesStep4 values(Collection values); /** * Add a single row of values to the replace statement. */ @CheckReturnValue ReplaceValuesStep4 values(Row4 values); /** * Add a single row of values to the replace statement. */ @CheckReturnValue ReplaceValuesStep4 values(Record4 values); /** * Add multiple rows of values to the replace 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) */ @CheckReturnValue @SuppressWarnings("unchecked") ReplaceValuesStep4 valuesOfRows(Row4... values); /** * Add multiple rows of values to the replace 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) */ @CheckReturnValue ReplaceValuesStep4 valuesOfRows(Collection> values); /** * Add multiple rows of values to the replace 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 replace columns by position, not * by name. If you prefer omitting unchanged values and adding values by field * name rather than by index, use {@link ReplaceSetStep#set(Record...)} instead. * That syntax is available only if you omit the explicit replace columns list. */ @CheckReturnValue @SuppressWarnings("unchecked") ReplaceValuesStep4 valuesOfRecords(Record4... values); /** * Add multiple rows of values to the replace 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 replace columns by position, not * by name. If you prefer omitting unchanged values and adding values by field * name rather than by index, use {@link ReplaceSetStep#set(Record...)} instead. * That syntax is available only if you omit the explicit replace columns list. */ @CheckReturnValue ReplaceValuesStep4 valuesOfRecords(Collection> values); /** * Use a SELECT statement as the source of values for the * REPLACE statement *

* This variant of the REPLACE … SELECT statement expects a * select returning exactly as many fields as specified previously in the * INTO clause: * {@link YdbDSLContext#replaceInto(Table, Field, Field, Field, Field)} */ @CheckReturnValue Replace select(Select> select); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy