[#1917] Add support for CUBRID 9.0's new features - Added support and

documentation for CUBRID's MERGE support
This commit is contained in:
Lukas Eder 2012-11-02 13:17:09 +01:00
parent eec85836c5
commit 4aa381f842
13 changed files with 62 additions and 53 deletions

View File

@ -762,7 +762,6 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, I, IPK, T725,
public void testMerge() throws Exception {
switch (getDialect()) {
case ASE:
case CUBRID:
case DERBY:
case H2:
case INGRES:
@ -878,7 +877,6 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, I, IPK, T725,
public void testH2Merge() throws Exception {
switch (getDialect()) {
case ASE:
case CUBRID:
case DERBY:
case INGRES:
case MYSQL:
@ -906,8 +904,8 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, I, IPK, T725,
// H2 MERGE test leading to a single UPDATE
// -------------------------------------------------------------
assertEquals(1,
create().mergeInto(TAuthor(), TAuthor_ID(), TAuthor_FIRST_NAME())
.values(3, "Hermann")
create().mergeInto(TAuthor(), TAuthor_ID(), TAuthor_FIRST_NAME(), TAuthor_LAST_NAME())
.values(3, "Hermann", "Hesse")
.execute());
Result<A> authors2 = create().selectFrom(TAuthor()).orderBy(TAuthor_ID()).fetch();
@ -919,9 +917,9 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, I, IPK, T725,
// H2 MERGE test specifying a custom KEY clause
// -------------------------------------------------------------
assertEquals(1,
create().mergeInto(TAuthor(), TAuthor_FIRST_NAME(), TAuthor_LAST_NAME())
create().mergeInto(TAuthor(), TAuthor_ID(), TAuthor_FIRST_NAME(), TAuthor_LAST_NAME())
.key(TAuthor_LAST_NAME())
.values("Lukas", "Hesse")
.values(3, "Lukas", "Hesse")
.execute());
Result<A> authors3 = create().selectFrom(TAuthor()).orderBy(TAuthor_ID()).fetch();
@ -956,14 +954,14 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, I, IPK, T725,
// H2 MERGE test specifying a subselect
// -------------------------------------------------------------
assertEquals(2,
create().mergeInto(TAuthor(), TAuthor_ID(), TAuthor_FIRST_NAME())
create().mergeInto(TAuthor(), TAuthor_ID(), TAuthor_FIRST_NAME(), TAuthor_LAST_NAME())
// inline() strings here. It seems that DB2 will lack page size
// in the system temporary table space, otherwise
// [#579] TODO: Aliasing shouldn't be necessary
.select(create().select(val(3).as("a"), inline("John").as("b")).unionAll(
create().select(val(4).as("a"), inline("John").as("b"))))
.select(select(val(3).as("a"), inline("John").as("b"), inline("Eder").as("c")).unionAll(
select(val(4).as("a"), inline("John").as("b"), inline("Eder").as("c"))))
.execute());
Result<A> authors5 = create().selectFrom(TAuthor()).orderBy(TAuthor_ID()).fetch();

View File

@ -669,7 +669,7 @@ public interface FactoryOperations extends Configuration {
* statement without field specification. See also
* {@link #mergeInto(Table, Field...)}
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<R extends Record> MergeUsingStep<R> mergeInto(Table<R> table);
/**
@ -692,7 +692,7 @@ public interface FactoryOperations extends Configuration {
* </tr>
* </table>
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<R extends Record> MergeKeyStep<R> mergeInto(Table<R> table, Field<?>... fields);
/**
@ -700,7 +700,7 @@ public interface FactoryOperations extends Configuration {
*
* @see #mergeInto(Table, Field...)
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<R extends Record> MergeKeyStep<R> mergeInto(Table<R> table, Collection<? extends Field<?>> fields);
/**

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
@ -66,7 +67,7 @@ public interface MergeKeyStep<R extends Record> extends MergeValuesStep<R> {
* Use this optional clause in order to override using the underlying
* <code>PRIMARY KEY</code>.
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeValuesStep<R> key(Field<?>... keys);
/**
@ -75,6 +76,6 @@ public interface MergeKeyStep<R extends Record> extends MergeValuesStep<R> {
* Use this optional clause in order to override using the underlying
* <code>PRIMARY KEY</code>.
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeValuesStep<R> key(Collection<? extends Field<?>> keys);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -68,14 +69,14 @@ public interface MergeMatchedSetStep<R extends Record> {
* Set values for <code>UPDATE</code> in the <code>MERGE</code> statement's
* <code>WHEN MATCHED</code> clause
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<T> MergeMatchedSetMoreStep<R> set(Field<T> field, T value);
/**
* Set values for <code>UPDATE</code> in the <code>MERGE</code> statement's
* <code>WHEN MATCHED</code> clause
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<T> MergeMatchedSetMoreStep<R> set(Field<T> field, Field<T> value);
/**
@ -86,6 +87,6 @@ public interface MergeMatchedSetStep<R extends Record> {
* types. Values can either be of type <code>&lt;T&gt;</code> or
* <code>Field&lt;T&gt;</code>
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeMatchedSetMoreStep<R> set(Map<? extends Field<?>, ?> map);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -66,6 +67,6 @@ public interface MergeMatchedStep<R extends Record> extends MergeNotMatchedStep<
* Add the <code>WHEN MATCHED THEN UPDATE</code> clause to the
* <code>MERGE</code> statement
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeMatchedSetStep<R> whenMatchedThenUpdate();
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -68,14 +69,14 @@ public interface MergeNotMatchedSetStep<R extends Record> {
* Set values for <code>INSERT</code> in the <code>MERGE</code> statement's
* <code>WHEN NOT MATCHED</code> clause
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<T> MergeNotMatchedSetMoreStep<R> set(Field<T> field, T value);
/**
* Set values for <code>INSERT</code> in the <code>MERGE</code> statement's
* <code>WHEN NOT MATCHED</INSERT> clause
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
<T> MergeNotMatchedSetMoreStep<R> set(Field<T> field, Field<T> value);
/**
@ -86,6 +87,6 @@ public interface MergeNotMatchedSetStep<R extends Record> {
* types. Values can either be of type <code>&lt;T&gt;</code> or
* <code>Field&lt;T&gt;</code>
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedSetMoreStep<R> set(Map<? extends Field<?>, ?> map);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -73,20 +74,20 @@ public interface MergeNotMatchedStep<R extends Record> extends MergeFinalStep<R>
* access to a MySQL-like API allowing for
* <code>INSERT SET a = x, b = y</code> syntax.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedSetStep<R> whenNotMatchedThenInsert();
/**
* Add the <code>WHEN NOT MATCHED THEN INSERT</code> clause to the
* <code>MERGE</code> statement
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedValuesStep<R> whenNotMatchedThenInsert(Field<?>... fields);
/**
* Add the <code>WHEN MATCHED THEN UPDATE</code> clause to the
* <code>MERGE</code> statement
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedValuesStep<R> whenNotMatchedThenInsert(Collection<? extends Field<?>> fields);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -68,20 +69,20 @@ public interface MergeNotMatchedValuesStep<R extends Record> {
* Set <code>VALUES</code> for <code>INSERT</code> in the <code>MERGE</code>
* statement's <code>WHEN NOT MATCHED THEN INSERT</code> clause.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedWhereStep<R> values(Object... values);
/**
* Set <code>VALUES</code> for <code>INSERT</code> in the <code>MERGE</code>
* statement's <code>WHEN NOT MATCHED THEN INSERT</code> clause.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedWhereStep<R> values(Field<?>... values);
/**
* Set <code>VALUES</code> for <code>INSERT</code> in the <code>MERGE</code>
* statement's <code>WHEN NOT MATCHED THEN INSERT</code> clause.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeNotMatchedWhereStep<R> values(Collection<?> values);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -68,7 +69,7 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
* Combine the currently assembled conditions with another one using the
* {@link Operator#AND} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> and(Condition condition);
/**
@ -82,7 +83,7 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> and(String sql);
/**
@ -96,7 +97,7 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String, Object...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> and(String sql, Object... bindings);
/**
@ -110,35 +111,35 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String, QueryPart...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> and(String sql, QueryPart... parts);
/**
* Combine the currently assembled conditions with a negated other one using
* the {@link Operator#AND} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> andNot(Condition condition);
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> andExists(Select<?> select);
/**
* Combine the currently assembled conditions with a NOT EXISTS clause using
* the {@link Operator#AND} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> andNotExists(Select<?> select);
/**
* Combine the currently assembled conditions with another one using the
* {@link Operator#OR} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> or(Condition condition);
/**
@ -152,7 +153,7 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> or(String sql);
/**
@ -166,7 +167,7 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String, Object...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> or(String sql, Object... bindings);
/**
@ -180,27 +181,27 @@ public interface MergeOnConditionStep<R extends Record> extends MergeMatchedStep
*
* @see Factory#condition(String, QueryPart...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> or(String sql, QueryPart... parts);
/**
* Combine the currently assembled conditions with a negated other one using
* the {@link Operator#OR} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> orNot(Condition condition);
/**
* Combine the currently assembled conditions with an EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> orExists(Select<?> select);
/**
* Combine the currently assembled conditions with a NOT EXISTS clause using
* the {@link Operator#OR} operator and proceed to the next step.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> orNotExists(Select<?> select);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -67,7 +68,7 @@ public interface MergeOnStep<R extends Record> {
/**
* Provide join conditions and proceed to the next step
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> on(Condition... conditions);
/**
@ -80,7 +81,7 @@ public interface MergeOnStep<R extends Record> {
*
* @see Factory#condition(String)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> on(String sql);
/**
@ -93,7 +94,7 @@ public interface MergeOnStep<R extends Record> {
*
* @see Factory#condition(String, Object...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> on(String sql, Object... bindings);
/**
@ -106,6 +107,6 @@ public interface MergeOnStep<R extends Record> {
*
* @see Factory#condition(String, QueryPart...)
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnConditionStep<R> on(String sql, QueryPart... parts);
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.ORACLE;
@ -46,7 +47,7 @@ import static org.jooq.SQLDialect.SYBASE;
* <p>
* Example: <code><pre>
* Factory create = new Factory();
*
*
* create.mergeInto(table)
* .using(select)
* .on(condition)
@ -57,7 +58,7 @@ import static org.jooq.SQLDialect.SYBASE;
* .values(value1, value2)
* .execute();
* </pre></code>
*
*
* @author Lukas Eder
*/
public interface MergeUsingStep<R extends Record> extends MergeKeyStep<R> {
@ -66,7 +67,7 @@ public interface MergeUsingStep<R extends Record> extends MergeKeyStep<R> {
* Add the <code>USING</code> clause to the SQL standard <code>MERGE</code>
* statement
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnStep<R> using(TableLike<?> table);
/**
@ -77,6 +78,6 @@ public interface MergeUsingStep<R extends Record> extends MergeKeyStep<R> {
* in <code>USING(SELECT 1) AS [dummy_table(dummy_field)]</code> in SQL
* Server, where derived tables need to be aliased.
*/
@Support({ DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
MergeOnStep<R> usingDual();
}

View File

@ -35,6 +35,7 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
@ -63,19 +64,19 @@ public interface MergeValuesStep<R extends Record> {
/**
* Specify a <code>VALUES</code> clause
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
Merge<R> values(Object... values);
/**
* Specify a <code>VALUES</code> clause
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
Merge<R> values(Field<?>... values);
/**
* Specify a <code>VALUES</code> clause
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
Merge<R> values(Collection<?> values);
/**
@ -88,6 +89,6 @@ public interface MergeValuesStep<R extends Record> {
* {@link FactoryOperations#mergeInto(Table, Field...)} or
* {@link FactoryOperations#mergeInto(Table, Collection)}
*/
@Support({ DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
@Support({ CUBRID, DB2, H2, HSQLDB, ORACLE, SQLSERVER, SYBASE })
Merge<R> select(Select<?> select);
}

View File

@ -419,6 +419,7 @@ implements
*/
private final QueryPart getStandardMerge(Configuration config) {
switch (config.getDialect()) {
case CUBRID:
case DB2:
case HSQLDB:
case ORACLE: