[jOOQ/jOOQ#17910] Factor out deprecated H2 MERGE statement logic from

standard SQL MergeImpl
This commit is contained in:
Lukas Eder 2025-01-17 14:15:00 +01:00
parent 4c8c03fc84
commit 53bb2aaa52
6 changed files with 94 additions and 723 deletions

View File

@ -71,8 +71,9 @@ import org.jetbrains.annotations.NotNull;
* .execute();
* </code></pre>
*
* @author Lukas Eder
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
public interface MergeKeyStepN<R extends Record> extends MergeValuesStepN<R> {
/**

View File

@ -37,8 +37,6 @@
*/
package org.jooq;
// ...
// ...
import static org.jooq.SQLDialect.CUBRID;
// ...
import static org.jooq.SQLDialect.DERBY;
@ -48,9 +46,6 @@ import static org.jooq.SQLDialect.H2;
// ...
import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.MARIADB;
// ...
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@ -58,10 +53,6 @@ import static org.jooq.SQLDialect.POSTGRES;
// ...
// ...
// ...
// ...
import static org.jooq.SQLDialect.YUGABYTEDB;
import java.util.Collection;
import org.jetbrains.annotations.NotNull;
@ -102,7 +93,7 @@ import org.jetbrains.annotations.NotNull;
*
* @author Lukas Eder
*/
public interface MergeUsingStep<R extends Record> extends MergeKeyStepN<R> {
public interface MergeUsingStep<R extends Record> extends MergeColumnsStep<R> {
/**
* Add the <code>USING</code> clause to the SQL standard <code>MERGE</code>
@ -127,320 +118,4 @@ public interface MergeUsingStep<R extends Record> extends MergeKeyStepN<R> {
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, POSTGRES })
MergeOnStep<R> usingDual();
/**
* Set the columns for merge (H2-specific syntax).
* <p>
* This statement is available from DSL syntax only. It is known to be
* supported in some way by any of these dialects:
* <table border="1">
* <tr>
* <td>H2</td>
* <td>H2 natively supports this special syntax</td>
* <td><a href="https://www.h2database.com/html/commands.html#merge_into"
* >https://www.h2database.com/html/commands.html#merge_into</a></td>
* </tr>
* <tr>
* <td>HANA</td>
* <td>HANA natively supports this syntax</td>
* <td><a href="http://help.sap.com/saphelp_hanaplatform/helpdata/en/20/fc06a7751910149892c0d09be21a38/content.htm">http://help.sap.com/saphelp_hanaplatform/helpdata/en/20/fc06a7751910149892c0d09be21a38/content.htm</a></td>
* </tr>
* <tr>
* <td>PostgreSQL</td>
* <td>This database can emulate the H2-specific MERGE statement via
* <code>INSERT ON CONFLICT DO UPDATE</code></td>
* <td><a href="http://www.postgresql.org/docs/9.5/static/sql-insert.html">http://www.postgresql.org/docs/9.5/static/sql-insert.html</a></td>
* </tr>
* <tr>
* <td>DB2, Firebird, HSQLDB, Oracle, SQL Server, Sybase SQL Anywhere</td>
* <td>These databases can emulate the H2-specific MERGE statement using a
* standard SQL MERGE statement, without restrictions</td>
* <td>See {@link DSLContext#mergeInto(Table)} for the standard MERGE statement</td>
* </tr>
* </table>
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
MergeKeyStepN<R> columns(Field<?>... fields);
/**
* Set the columns for merge (H2-specific syntax).
*
* @see #columns(Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
MergeKeyStepN<R> columns(Collection<? extends Field<?>> fields);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1> MergeKeyStep1<R, T1> columns(Field<T1> field1);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2> MergeKeyStep2<R, T1, T2> columns(Field<T1> field1, Field<T2> field2);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3> MergeKeyStep3<R, T1, T2, T3> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4> MergeKeyStep4<R, T1, T2, T3, T4> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5> MergeKeyStep5<R, T1, T2, T3, T4, T5> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6> MergeKeyStep6<R, T1, T2, T3, T4, T5, T6> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7> MergeKeyStep7<R, T1, T2, T3, T4, T5, T6, T7> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8> MergeKeyStep8<R, T1, T2, T3, T4, T5, T6, T7, T8> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9> MergeKeyStep9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> MergeKeyStep10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> MergeKeyStep11<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> MergeKeyStep12<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> MergeKeyStep13<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> MergeKeyStep14<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> MergeKeyStep15<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> MergeKeyStep16<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> MergeKeyStep17<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> MergeKeyStep18<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> MergeKeyStep19<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> MergeKeyStep20<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> MergeKeyStep21<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21);
/**
* Create a new DSL UPSERT statement ({@link SQLDialect#H2}
* <code>MERGE</code>) or {@link SQLDialect#HANA} <code>UPSERT</code>).
*
* @see DSLContext#mergeInto(Table, Field...)
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@NotNull @CheckReturnValue
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTEDB })
@Deprecated(forRemoval = true, since = "3.14")
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> MergeKeyStep22<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22);
}

View File

@ -77,8 +77,9 @@ import org.jetbrains.annotations.NotNull;
* .execute();
* </code></pre>
*
* @author Lukas Eder
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link DSLContext#mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
public interface MergeValuesStepN<R extends Record> {
/**

View File

@ -2513,7 +2513,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1> MergeKeyStep1<R, T1> mergeInto(Table<R> table, Field<T1> field1) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1));
}
/**
@ -2522,7 +2522,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2> MergeKeyStep2<R, T1, T2> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2));
}
/**
@ -2531,7 +2531,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3> MergeKeyStep3<R, T1, T2, T3> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3));
}
/**
@ -2540,7 +2540,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4> MergeKeyStep4<R, T1, T2, T3, T4> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4));
}
/**
@ -2549,7 +2549,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5> MergeKeyStep5<R, T1, T2, T3, T4, T5> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5));
}
/**
@ -2558,7 +2558,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6> MergeKeyStep6<R, T1, T2, T3, T4, T5, T6> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6));
}
/**
@ -2567,7 +2567,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7> MergeKeyStep7<R, T1, T2, T3, T4, T5, T6, T7> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7));
}
/**
@ -2576,7 +2576,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8> MergeKeyStep8<R, T1, T2, T3, T4, T5, T6, T7, T8> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8));
}
/**
@ -2585,7 +2585,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9> MergeKeyStep9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9));
}
/**
@ -2594,7 +2594,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> MergeKeyStep10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10));
}
/**
@ -2603,7 +2603,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> MergeKeyStep11<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11));
}
/**
@ -2612,7 +2612,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> MergeKeyStep12<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12));
}
/**
@ -2621,7 +2621,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> MergeKeyStep13<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13));
}
/**
@ -2630,7 +2630,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> MergeKeyStep14<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14));
}
/**
@ -2639,7 +2639,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> MergeKeyStep15<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15));
}
/**
@ -2648,7 +2648,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> MergeKeyStep16<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16));
}
/**
@ -2657,7 +2657,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> MergeKeyStep17<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17));
}
/**
@ -2666,7 +2666,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> MergeKeyStep18<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18));
}
/**
@ -2675,7 +2675,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> MergeKeyStep19<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19));
}
/**
@ -2684,7 +2684,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> MergeKeyStep20<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20));
}
/**
@ -2693,7 +2693,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> MergeKeyStep21<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21));
}
/**
@ -2702,19 +2702,27 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> MergeKeyStep22<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22) {
return new MergeImpl(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22));
return new MergeUpsert(configuration(), null, table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22));
}
/**
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link #mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record> MergeKeyStepN<R> mergeInto(Table<R> table, Field<?>... fields) {
return mergeInto(table, Arrays.asList(fields));
}
/**
* @deprecated - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via {@link #mergeInto(Table)}
*/
@Deprecated(forRemoval = true, since = "3.14")
@Override
public <R extends Record> MergeKeyStepN<R> mergeInto(Table<R> table, Collection<? extends Field<?>> fields) {
return new MergeImpl(configuration(), null, table, fields);
return new MergeUpsert(configuration(), null, table, fields);
}
@Override

View File

@ -314,18 +314,7 @@ implements
private transient boolean notMatchedClause;
private final List<NotMatchedClause> notMatched;
// Objects for the UPSERT syntax (including H2 MERGE, HANA UPSERT, etc.)
private boolean upsertStyle;
private QueryPartList<Field<?>> upsertFields;
private QueryPartList<Field<?>> upsertKeys;
private QueryPartList<Field<?>> upsertValues;
private Select<?> upsertSelect;
MergeImpl(Configuration configuration, WithImpl with, Table<R> table) {
this(configuration, with, table, null);
}
MergeImpl(Configuration configuration, WithImpl with, Table<R> table, Collection<? extends Field<?>> fields) {
super(configuration);
this.with = with;
@ -333,9 +322,6 @@ implements
this.on = new ConditionProviderImpl();
this.matched = new ArrayList<>();
this.notMatched = new ArrayList<>();
if (fields != null)
columns(fields);
}
// -------------------------------------------------------------------------
@ -346,27 +332,6 @@ implements
return table;
}
final QueryPartList<Field<?>> getUpsertFields() {
if (upsertFields == null)
upsertFields = new QueryPartList<>(table.fields());
return upsertFields;
}
final QueryPartList<Field<?>> getUpsertKeys() {
if (upsertKeys == null)
upsertKeys = new QueryPartList<>();
return upsertKeys;
}
final QueryPartList<Field<?>> getUpsertValues() {
if (upsertValues == null)
upsertValues = new QueryPartList<>();
return upsertValues;
}
final MatchedClause getLastMatched() {
return matched.get(matched.size() - 1);
}
@ -376,149 +341,144 @@ implements
}
@Override
public final MergeImpl columns(Field... fields) {
public final MergeUpsert columns(Field... fields) {
return columns(Arrays.asList(fields));
}
@Override
public final MergeImpl columns(Collection fields) {
upsertStyle = true;
upsertFields = new QueryPartList<>(fields);
return this;
public final MergeUpsert columns(Collection fields) {
return new MergeUpsert(configuration(), with, table, fields);
}
@Override
public final MergeImpl columns(Field field1) {
public final MergeUpsert columns(Field field1) {
return columns(Arrays.asList(field1));
}
@Override
public final MergeImpl columns(Field field1, Field field2) {
public final MergeUpsert columns(Field field1, Field field2) {
return columns(Arrays.asList(field1, field2));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3) {
public final MergeUpsert columns(Field field1, Field field2, Field field3) {
return columns(Arrays.asList(field1, field2, field3));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4) {
return columns(Arrays.asList(field1, field2, field3, field4));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5) {
return columns(Arrays.asList(field1, field2, field3, field4, field5));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21));
}
@Override
public final MergeImpl columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) {
public final MergeUpsert columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) {
return columns(Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22));
}
@Override
public final MergeImpl select(Select select) {
upsertStyle = true;
upsertSelect = select;
return this;
public final MergeUpsert select(Select select) {
MergeUpsert result = new MergeUpsert(configuration(), with, table);
result.upsertSelect = select;
return result;
}
@Override
public final MergeImpl key(Field<?>... k) {
public final MergeUpsert key(Field<?>... k) {
return key(Arrays.asList(k));
}
@Override
public final MergeImpl key(Collection<? extends Field<?>> keys) {
upsertStyle = true;
getUpsertKeys().addAll(keys);
return this;
public final MergeUpsert key(Collection<? extends Field<?>> keys) {
return new MergeUpsert(configuration(), with, table).key(keys);
}
// -------------------------------------------------------------------------
@ -752,16 +712,7 @@ implements
@Override
public final MergeImpl values(Object... values) {
// [#1541] The VALUES() clause is also supported in the H2-specific
// syntax, in case of which, the USING() was not added
if (using == null && !usingDual) {
upsertStyle = true;
getUpsertValues().addAll(Tools.fields(values, getUpsertFields().toArray(EMPTY_FIELD)));
}
else
getLastNotMatched().insertMap.set(Tools.fields(values, getLastNotMatched().insertMap.values.keySet().toArray(EMPTY_FIELD)));
getLastNotMatched().insertMap.set(Tools.fields(values, getLastNotMatched().insertMap.values.keySet().toArray(EMPTY_FIELD)));
return this;
}
@ -1467,97 +1418,6 @@ implements
// QueryPart API
// -------------------------------------------------------------------------
/**
* Return a standard MERGE statement emulating the H2-specific syntax
*/
private final QueryPart getStandardMerge(boolean usingSubqueries) {
// The SRC for the USING() clause:
// ------------------------------
Table<?> src;
List<Field<?>> srcFields;
// [#5110] This is not yet supported by Derby
if (upsertSelect != null) {
Table<?> s = upsertSelect.asTable("s");
// [#579] TODO: Currently, this syntax may require aliasing
// on the call-site
src = DSL.select(map(s.fieldsRow().fields(), (f, i) -> f.as("s" + (i + 1)))).from(s).asTable("src");
srcFields = Arrays.asList(src.fields());
}
else if (usingSubqueries) {
src = DSL.select(map(getUpsertValues(), (f, i) -> f.as("s" + (i + 1)))).asTable("src");
srcFields = Arrays.asList(src.fields());
}
else {
src = new Dual();
srcFields = map(getUpsertValues(), f -> f);
}
// The condition for the ON clause:
// --------------------------------
Set<Field<?>> onFields = new HashSet<>();
Condition condition = null;
if (getUpsertKeys().isEmpty()) {
UniqueKey<?> key = table.getPrimaryKey();
if (key != null) {
onFields.addAll(key.getFields());
for (int i = 0; i < key.getFields().size(); i++) {
Condition rhs = key.getFields().get(i).equal((Field) srcFields.get(i));
if (condition == null)
condition = rhs;
else
condition = condition.and(rhs);
}
}
// This should probably execute an INSERT statement
else
throw new IllegalStateException("Cannot omit KEY() clause on a non-Updatable Table");
}
else {
for (int i = 0; i < getUpsertKeys().size(); i++) {
int matchIndex = getUpsertFields().indexOf(getUpsertKeys().get(i));
if (matchIndex == -1)
throw new IllegalStateException("Fields in KEY() clause must be part of the fields specified in MERGE INTO table (...)");
onFields.addAll(getUpsertKeys());
Condition rhs = getUpsertKeys().get(i).equal((Field) srcFields.get(matchIndex));
if (condition == null)
condition = rhs;
else
condition = condition.and(rhs);
}
}
// INSERT and UPDATE clauses
// -------------------------
Map<Field<?>, Field<?>> update = new LinkedHashMap<>();
Map<Field<?>, Field<?>> insert = new LinkedHashMap<>();
for (int i = 0; i < srcFields.size(); i++) {
// Oracle does not allow to update fields from the ON clause
if (!onFields.contains(getUpsertFields().get(i)))
update.put(getUpsertFields().get(i), srcFields.get(i));
insert.put(getUpsertFields().get(i), srcFields.get(i));
}
return DSL.mergeInto(table)
.using(src)
.on(condition)
.whenMatchedThenUpdate()
.set(update)
.whenNotMatchedThenInsert()
.set(insert);
}
final MergeImpl<R, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> copy(Consumer<? super MergeImpl<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?>> finisher) {
return copy(finisher, table);
}
@ -1638,180 +1498,6 @@ implements
if (with != null)
ctx.visit(with);
if (upsertStyle) {
switch (ctx.family()) {
case H2:
toSQLH2Merge(ctx);
break;
case MARIADB:
case MYSQL:
toSQLMySQLOnDuplicateKeyUpdate(ctx);
break;
case POSTGRES:
case YUGABYTEDB:
toPostgresInsertOnConflict(ctx);
break;
case DERBY:
ctx.visit(getStandardMerge(false));
break;
default:
ctx.visit(getStandardMerge(true));
break;
}
}
else
toSQLStandard(ctx);
}
private final void toSQLMySQLOnDuplicateKeyUpdate(Context<?> ctx) {
FieldsImpl<?> fields = new FieldsImpl<>(getUpsertFields());
Map<Field<?>, Field<?>> map = new LinkedHashMap<>();
for (Field<?> field : fields.fields)
map.put(field, getUpsertValues().get(fields.indexOf(field)));
if (upsertSelect != null) {
ctx.sql("[ merge with select is not supported in MySQL / MariaDB ]");
}
else {
ctx.visit(insertInto(table, getUpsertFields())
.values(getUpsertValues())
.onDuplicateKeyUpdate()
.set(map));
}
}
private final void toPostgresInsertOnConflict(Context<?> ctx) {
if (upsertSelect != null) {
ctx.visit(getStandardMerge(true));
}
else {
FieldsImpl<?> fields = new FieldsImpl<>(getUpsertFields());
Map<Field<?>, Field<?>> map = new LinkedHashMap<>();
for (Field<?> field : fields.fields) {
int i = fields.indexOf(field);
if (i > -1 && i < getUpsertValues().size())
map.put(field, getUpsertValues().get(i));
}
ctx.visit(insertInto(table, getUpsertFields())
.values(getUpsertValues())
.onConflict(getUpsertKeys())
.doUpdate()
.set(map));
}
}
private final void toSQLH2Merge(Context<?> ctx) {
ctx.visit(K_MERGE_INTO)
.sql(' ')
.declareTables(true, c -> c.visit(table))
.formatSeparator();
ctx.sql('(')
.visit(wrap(collect(removeReadonly(ctx, getUpsertFields()))).qualify(false))
.sql(')');
if (!getUpsertKeys().isEmpty())
ctx.formatSeparator()
.visit(K_KEY).sql(" (")
.visit(wrap(getUpsertKeys()).qualify(false))
.sql(')');
if (upsertSelect != null)
ctx.formatSeparator()
.visit(upsertSelect);
else
ctx.formatSeparator()
.visit(K_VALUES).sql(" (")
.visit(wrap(collect(removeReadonly(ctx, getUpsertFields(), getUpsertValues()))))
.sql(')');
}
static final Iterable<Field<?>> removeReadonly(Context<?> ctx, List<Field<?>> it) {
return removeReadonly(ctx, it, it);
}
static final Iterable<Field<?>> removeReadonly(Context<?> ctx, List<Field<?>> checkIt, List<Field<?>> removeIt) {
return removeIt;
}
private final void toSQLStandard(Context<?> ctx) {
Table<?> t = InlineDerivedTable.inlineDerivedTable(ctx, table);
ctx.start(MERGE_MERGE_INTO)

View File

@ -1029,146 +1029,146 @@ implements
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1) {
public final MergeUpsert mergeInto(Table table, Field field1) {
return mergeInto(table, Arrays.asList(field1));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2) {
return mergeInto(table, Arrays.asList(field1, field2));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3) {
return mergeInto(table, Arrays.asList(field1, field2, field3));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21));
}
@Override
@Deprecated(forRemoval = true, since = "3.14")
public final MergeImpl mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) {
public final MergeUpsert mergeInto(Table table, Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) {
return mergeInto(table, Arrays.asList(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22));
}
@Override
public final MergeImpl mergeInto(Table table, Field... fields) {
public final MergeUpsert mergeInto(Table table, Field... fields) {
return mergeInto(table, Arrays.asList(fields));
}
@Override
public final MergeImpl mergeInto(Table table, Collection fields) {
return new MergeImpl(configuration, this, table, fields);
public final MergeUpsert mergeInto(Table table, Collection fields) {
return new MergeUpsert(configuration, this, table, fields);
}
@Override