diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java index 8137b886a0..bd786e10f2 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java @@ -507,11 +507,8 @@ class GenerationUtil { } } - case H2: { + case H2: return name(H2DataType.OTHER.getTypeName()); - } - - case HSQLDB: { diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java index 0aa6e39879..da6fa483e0 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java @@ -2705,10 +2705,8 @@ public abstract class AbstractDatabase implements Database { case H2: return "ARRAY".equals(dataType); + case HSQLDB: - - - // TODO: Is there any more robust way to recognise these? // For instance, there could be a UDT that is called this way return dataType.endsWith(" ARRAY"); diff --git a/jOOQ/src/main/java/org/jooq/SQLDialect.java b/jOOQ/src/main/java/org/jooq/SQLDialect.java index b29d8daf19..d80bb044ce 100644 --- a/jOOQ/src/main/java/org/jooq/SQLDialect.java +++ b/jOOQ/src/main/java/org/jooq/SQLDialect.java @@ -1145,8 +1145,6 @@ public enum SQLDialect { case MARIADB: - - case MYSQL: return "MySQL"; case POSTGRES: return "PostgreSQL"; @@ -1215,8 +1213,6 @@ public enum SQLDialect { - - case MYSQL: return "org.hibernate.dialect.MySQL5Dialect"; diff --git a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java index 9f62fda2f5..5658d03be1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java @@ -148,8 +148,6 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { break; } - - case POSTGRES: { bodyAsString(ctx, K_DO, c -> accept0(c)); break; @@ -227,8 +225,6 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { - - case HSQLDB: case MARIADB: default: { @@ -527,6 +523,7 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { ctx.visit(K_END); switch (ctx.family()) { + case H2: case FIREBIRD: break; @@ -539,9 +536,6 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { - - - default: ctx.sql(';'); } diff --git a/jOOQ/src/main/java/org/jooq/impl/CommentOnImpl.java b/jOOQ/src/main/java/org/jooq/impl/CommentOnImpl.java index 577f92b8f5..2305e54158 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CommentOnImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CommentOnImpl.java @@ -165,7 +165,6 @@ implements - case MARIADB: case MYSQL: { if (table != null) diff --git a/jOOQ/src/main/java/org/jooq/impl/Concat.java b/jOOQ/src/main/java/org/jooq/impl/Concat.java index b978500f50..30950b709f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Concat.java +++ b/jOOQ/src/main/java/org/jooq/impl/Concat.java @@ -81,9 +81,6 @@ final class Concat extends AbstractField { switch (ctx.family()) { - - - case MARIADB: case MYSQL: ctx.visit(function("concat", SQLDataType.VARCHAR, cast)); diff --git a/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java b/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java index 8b7efaf775..679d2331f2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java +++ b/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java @@ -66,20 +66,17 @@ final class ConditionAsField extends AbstractField { // Some databases don't accept predicates where column expressions // are expected. + + + + + + + + case CUBRID: case FIREBIRD: - - - - - - - - - - - // [#10179] Avoid 3VL when not necessary if (condition instanceof AbstractCondition && !((AbstractCondition) condition).isNullable()) ctx.visit(DSL.when(condition, inline(true)) @@ -91,23 +88,7 @@ final class ConditionAsField extends AbstractField { .when(not(condition), inline(false))); break; - // These databases can inline predicates in column expression contexts - case DERBY: - case H2: - case HSQLDB: - case MARIADB: - case MYSQL: - case POSTGRES: - case SQLITE: - - - - - - - - - // The default, for new dialects + // Other dialects can inline predicates in column expression contexts default: ctx.sql('(').visit(condition).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/ConstraintImpl.java b/jOOQ/src/main/java/org/jooq/impl/ConstraintImpl.java index e5dbdc717c..84a824b15a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ConstraintImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ConstraintImpl.java @@ -303,9 +303,6 @@ implements - - - case MYSQL: default: if (enforced) ctx.sql(' ').visit(K_ENFORCED); diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java index 454529bf3a..bcdacd2269 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java @@ -230,8 +230,6 @@ final class CreateViewImpl extends AbstractRowCountQuery imple switch (ctx.family()) { - - case FIREBIRD: ctx.sql(' ').visit(K_ALTER); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/CurrentCatalog.java b/jOOQ/src/main/java/org/jooq/impl/CurrentCatalog.java index 68ab09b64c..f9c849d5cc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CurrentCatalog.java +++ b/jOOQ/src/main/java/org/jooq/impl/CurrentCatalog.java @@ -99,9 +99,6 @@ extends - - - case POSTGRES: default: ctx.visit(N_CURRENT_DATABASE).sql("()"); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/CurrentSchema.java b/jOOQ/src/main/java/org/jooq/impl/CurrentSchema.java index dcc31c6472..88fafa4b13 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CurrentSchema.java +++ b/jOOQ/src/main/java/org/jooq/impl/CurrentSchema.java @@ -114,8 +114,6 @@ extends - - case MARIADB: case MYSQL: ctx.visit(K_DATABASE).sql("()"); @@ -124,12 +122,11 @@ extends - - case HSQLDB: case POSTGRES: ctx.visit(K_CURRENT_SCHEMA); break; + default: ctx.visit(K_CURRENT_SCHEMA).sql("()"); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java b/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java index e13d7d802b..b2d0e23eac 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java +++ b/jOOQ/src/main/java/org/jooq/impl/CurrentUser.java @@ -115,6 +115,7 @@ extends case SQLITE: ctx.visit(DSL.inline("")); break; + default: ctx.visit(N_CURRENT_USER).sql("()"); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java index 0b25407024..f5004f360b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java +++ b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java @@ -122,8 +122,6 @@ extends switch (ctx.family()) { - - case CUBRID: case MARIADB: case MYSQL: { @@ -346,7 +344,6 @@ extends - case FIREBIRD: default: { ctx.visit(N_DATEADD).sql('(').visit(standardKeyword()).sql(", ").visit(interval).sql(", ").visit(date).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/DateDiff.java b/jOOQ/src/main/java/org/jooq/impl/DateDiff.java index 2aac986898..201548badd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DateDiff.java +++ b/jOOQ/src/main/java/org/jooq/impl/DateDiff.java @@ -96,8 +96,6 @@ final class DateDiff extends AbstractField { switch (ctx.family()) { - - case MARIADB: case MYSQL: switch (p) { @@ -169,9 +167,6 @@ final class DateDiff extends AbstractField { - - - case FIREBIRD: case H2: case HSQLDB: @@ -222,8 +217,6 @@ final class DateDiff extends AbstractField { - - case CUBRID: case POSTGRES: switch (p) { diff --git a/jOOQ/src/main/java/org/jooq/impl/DateOrTime.java b/jOOQ/src/main/java/org/jooq/impl/DateOrTime.java index 0ff1fd341f..e2b36bc7ce 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DateOrTime.java +++ b/jOOQ/src/main/java/org/jooq/impl/DateOrTime.java @@ -88,8 +88,6 @@ final class DateOrTime extends AbstractField { switch (ctx.family()) { - - case MYSQL: case MARIADB: ctx.visit(keyword(getDataType())).sql('(').visit(field).sql(')'); @@ -103,6 +101,7 @@ final class DateOrTime extends AbstractField { ctx.visit(K_TIME).sql('(').visit(field).sql(')'); else ctx.visit(N_STRFTIME).sql("('%Y-%m-%d %H:%M:%f', ").visit(field).sql(')'); + break; } diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 34797cba55..aadd7ebfd3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -646,8 +646,6 @@ public class DefaultBinding implements Binding { // These dialects can hardly detect the type of a bound constant. - - case DERBY: case FIREBIRD: @@ -670,8 +668,6 @@ public class DefaultBinding implements Binding { - - case POSTGRES: { return true; } @@ -687,8 +683,6 @@ public class DefaultBinding implements Binding { - - case H2: case HSQLDB: case POSTGRES: @@ -701,8 +695,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: return true; } @@ -1145,8 +1137,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: // Postgres needs explicit casting for enum (array) types @@ -1166,8 +1156,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: { ctx.statement().setString(ctx.index(), toPGArrayString(value)); break; @@ -1206,8 +1194,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: return pgGetArray(ctx, ctx.resultSet(), dataType, ctx.index()); @@ -1654,14 +1640,11 @@ public class DefaultBinding implements Binding { // Some dialects have trouble binding binary data as BLOB // Same logic in DefaultBytesBinding + + + + case POSTGRES: - - - - - - - return Types.BINARY; default: @@ -1990,14 +1973,11 @@ public class DefaultBinding implements Binding { // Some dialects have trouble binding binary data as BLOB // Same logic in DefaultBlobBinding + + + + case POSTGRES: - - - - - - - return Types.BINARY; default: @@ -2877,11 +2857,9 @@ public class DefaultBinding implements Binding { switch (family) { - - - - // [#5895] HSQLDB derives the specific data type from the literal + + case HSQLDB: ctx.render().visit(K_TIMESTAMP).sql(" '").sql(escape(format(value, family), ctx.render())).sql('\''); break; @@ -3458,8 +3436,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: return pgNewRecord(dataType.getType(), null, ctx.resultSet().getObject(ctx.index())); @@ -3473,8 +3449,6 @@ public class DefaultBinding implements Binding { switch (ctx.family()) { - - case POSTGRES: return pgNewRecord(dataType.getType(), null, ctx.statement().getObject(ctx.index())); @@ -3716,16 +3690,9 @@ public class DefaultBinding implements Binding { final int sqltype(Statement statement, Configuration configuration) { switch (configuration.family()) { - - case H2: return -10; // OracleTypes.CURSOR; - - - - - case POSTGRES: default: return Types.OTHER; } @@ -4196,9 +4163,6 @@ public class DefaultBinding implements Binding { - - - case H2: case POSTGRES: { ctx.statement().setObject(ctx.index(), value); @@ -4236,9 +4200,6 @@ public class DefaultBinding implements Binding { - - - case H2: case POSTGRES: return Convert.convert(ctx.resultSet().getObject(ctx.index()), UUID.class); @@ -4267,9 +4228,6 @@ public class DefaultBinding implements Binding { - - - case H2: case POSTGRES: return (UUID) ctx.statement().getObject(ctx.index()); @@ -4299,9 +4257,6 @@ public class DefaultBinding implements Binding { switch (configuration.family()) { - - - case POSTGRES: return Types.OTHER; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 6bd56ae053..34040f29a7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -4030,9 +4030,6 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri - - - case CUBRID: case MARIADB: case MYSQL: @@ -4043,9 +4040,6 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri - - - case POSTGRES: return fetchValue(field("lastval()", BigInteger.class)); diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java index d9d9222cf2..c0628e9c1d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java @@ -164,8 +164,6 @@ public class DefaultTransactionProvider implements TransactionProvider { switch (configuration.family()) { - - case CUBRID: return UNSUPPORTED_SAVEPOINT; default: diff --git a/jOOQ/src/main/java/org/jooq/impl/ExplainQuery.java b/jOOQ/src/main/java/org/jooq/impl/ExplainQuery.java index 3fb900566a..317832d0a2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ExplainQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/ExplainQuery.java @@ -122,9 +122,9 @@ final class ExplainQuery { case H2: // HSQLDB's EXPLAIN PLAN FOR output doesn't contain any useful additional information - case HSQLDB: { + case HSQLDB: break; - } + case MARIADB: case MYSQL: { // MySQL doesn't expose any cost (yet). diff --git a/jOOQ/src/main/java/org/jooq/impl/Expression.java b/jOOQ/src/main/java/org/jooq/impl/Expression.java index 73af62520b..3fb3901926 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Expression.java +++ b/jOOQ/src/main/java/org/jooq/impl/Expression.java @@ -414,8 +414,6 @@ final class Expression extends AbstractTransformable { switch (family) { - - case CUBRID: case MARIADB: case MYSQL: { @@ -704,8 +702,6 @@ final class Expression extends AbstractTransformable { } - - case HSQLDB: { if (operator == ADD) ctx.visit(lhs.add(DSL.field("({0}) day", rhsAsNumber()))); @@ -735,8 +731,6 @@ final class Expression extends AbstractTransformable { - - case CUBRID: case MARIADB: case MYSQL: { @@ -803,9 +797,7 @@ final class Expression extends AbstractTransformable { - - - case H2: + // These dialects can add / subtract days using +/- operators default: ctx.visit(new DefaultExpression<>(lhs, operator, rhs)); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java index be82c3d763..fbc4b7dafd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java @@ -62,41 +62,21 @@ final class FieldCondition extends AbstractCondition { public void accept(Context ctx) { switch (ctx.family()) { - // [#2485] These don't work nicely, yet + // [#2485] Some of these don't work nicely, yet + + + + + + + + + case CUBRID: case FIREBIRD: - - - - - - - - - - - - - ctx.visit(field.eq(inline(true, field.getDataType()))); break; - - - - - - - - - // Native support - case DERBY: - case H2: - case HSQLDB: - case MARIADB: - case MYSQL: - case POSTGRES: - case SQLITE: default: ctx.visit(Tools.hasDefaultConverter(field) ? field : field.eq(inline(true, field.getDataType()))); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldFunction.java b/jOOQ/src/main/java/org/jooq/impl/FieldFunction.java index fc39a4f4c5..8c07df2d66 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldFunction.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldFunction.java @@ -73,8 +73,6 @@ final class FieldFunction extends AbstractField { switch (ctx.family()) { - - case MARIADB: case MYSQL: if (arguments.size() > 1) diff --git a/jOOQ/src/main/java/org/jooq/impl/ForLock.java b/jOOQ/src/main/java/org/jooq/impl/ForLock.java index 03ad2b7f24..347cd8d6a2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ForLock.java +++ b/jOOQ/src/main/java/org/jooq/impl/ForLock.java @@ -153,8 +153,6 @@ final class ForLock extends AbstractQueryPart { - - case DERBY: { forLockOfTables.toSQLFields(ctx); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java b/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java index 4e732f4d07..e8d858afd7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/FunctionTable.java @@ -95,8 +95,6 @@ final class FunctionTable extends AbstractTable { // with defaulted parameters. - - case POSTGRES: { ctx.visit(function); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Greatest.java b/jOOQ/src/main/java/org/jooq/impl/Greatest.java index b02aeabaff..27a8b60c77 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Greatest.java +++ b/jOOQ/src/main/java/org/jooq/impl/Greatest.java @@ -84,8 +84,6 @@ final class Greatest extends AbstractField { - - case DERBY: { Field first = (Field) args[0]; Field other = (Field) args[1]; diff --git a/jOOQ/src/main/java/org/jooq/impl/Identifiers.java b/jOOQ/src/main/java/org/jooq/impl/Identifiers.java index e878b1a26f..f1a843f368 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Identifiers.java +++ b/jOOQ/src/main/java/org/jooq/impl/Identifiers.java @@ -75,8 +75,6 @@ final class Identifiers { - - case MARIADB: case MYSQL: QUOTES.put(family, new char[][][] { @@ -102,25 +100,6 @@ final class Identifiers { // Most dialects implement the SQL standard, using double quotes - - - - - - - - - - - - case CUBRID: - case DERBY: - case FIREBIRD: - case H2: - case HSQLDB: - case IGNITE: - case POSTGRES: - case SQLITE: default: QUOTES.put(family, new char[][][] { { { '"' } }, diff --git a/jOOQ/src/main/java/org/jooq/impl/Iif.java b/jOOQ/src/main/java/org/jooq/impl/Iif.java index 9774349a50..a9a1dfcccb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Iif.java +++ b/jOOQ/src/main/java/org/jooq/impl/Iif.java @@ -72,8 +72,6 @@ final class Iif extends AbstractField { switch (ctx.family()) { - - case MARIADB: case MYSQL: ctx.visit(N_IF).sql('(').visit(condition).sql(", ").visit(ifTrue).sql(", ").visit(ifFalse).sql(')'); diff --git a/jOOQ/src/main/java/org/jooq/impl/InCondition.java b/jOOQ/src/main/java/org/jooq/impl/InCondition.java index d084ee34f8..ac2e87591c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/InCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/InCondition.java @@ -156,8 +156,6 @@ final class InCondition extends AbstractCondition { - - case FIREBIRD: { ctx.sqlIndentStart('('); diff --git a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java index 93229f71c0..f6954e5fd5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java @@ -307,9 +307,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl switch (ctx.family()) { - - - case POSTGRES: case SQLITE: { toSQLInsert(ctx); @@ -404,13 +401,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl } // MySQL has a nice syntax for this - - - - - case CUBRID: - case MARIADB: - case MYSQL: default: { // [#2508] In H2, this syntax is supported in MySQL MODE (we're assuming users will @@ -463,8 +453,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl - - case MYSQL: case MARIADB: { toSQLInsert(ctx); @@ -483,8 +471,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl - - case POSTGRES: case SQLITE: { toSQLInsert(ctx); @@ -567,8 +553,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl - - @@ -688,7 +672,6 @@ final class InsertQueryImpl extends AbstractStoreQuery impl - case DERBY: case MARIADB: case MYSQL: diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONArray.java b/jOOQ/src/main/java/org/jooq/impl/JSONArray.java index f6f0be1232..7aff88d699 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONArray.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONArray.java @@ -139,9 +139,6 @@ implements switch (ctx.family()) { - - - case POSTGRES: if (onNull == JSONOnNull.ABSENT_ON_NULL) { Row1[] rows = new Row1[fields.size()]; diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONEntryImpl.java b/jOOQ/src/main/java/org/jooq/impl/JSONEntryImpl.java index 55e986310a..26feba499c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONEntryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONEntryImpl.java @@ -128,7 +128,6 @@ final class JSONEntryImpl extends AbstractQueryPart implements JSONEntry, - case MARIADB: case MYSQL: case POSTGRES: diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONExists.java b/jOOQ/src/main/java/org/jooq/impl/JSONExists.java index 63cbf71adf..e0ced8e137 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONExists.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONExists.java @@ -130,8 +130,6 @@ final class JSONExists extends AbstractCondition implements JSONExistsOnStep { public final void accept(Context ctx) { switch (ctx.family()) { - - case MYSQL: ctx.visit(N_JSON_CONTAINS_PATH).sql('(').visit(json).sql(", 'one', ").visit(path).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONObject.java b/jOOQ/src/main/java/org/jooq/impl/JSONObject.java index 0852047ea1..9f38de17d9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONObject.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONObject.java @@ -137,9 +137,6 @@ implements switch (ctx.family()) { - - - case POSTGRES: if (onNull == JSONOnNull.ABSENT_ON_NULL) ctx.visit(unquotedName(getDataType().getType() == JSONB.class ? "jsonb_strip_nulls" : "json_strip_nulls")).sql('('); diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java b/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java index ffeb7436bb..ec7b6141a3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java @@ -99,7 +99,6 @@ implements JSONObjectAggNullStep { - case POSTGRES: acceptPostgres(ctx); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONValue.java b/jOOQ/src/main/java/org/jooq/impl/JSONValue.java index 529b343e64..37fd69b29e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONValue.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONValue.java @@ -177,15 +177,11 @@ implements public final void accept(Context ctx) { switch (ctx.family()) { - - case MYSQL: ctx.visit(N_JSON_EXTRACT).sql('(').visit(json).sql(", ").visit(path).sql(')'); break; - - case POSTGRES: ctx.visit(N_JSONB_PATH_QUERY_FIRST).sql('(').visit(castIfNeeded(json, JSONB)).sql(", ").visit(path).sql("::jsonpath)"); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/LTrim.java b/jOOQ/src/main/java/org/jooq/impl/LTrim.java index 7f5da9af8c..1c3ed02287 100644 --- a/jOOQ/src/main/java/org/jooq/impl/LTrim.java +++ b/jOOQ/src/main/java/org/jooq/impl/LTrim.java @@ -119,9 +119,6 @@ extends - - - case SQLITE: ctx.visit(N_LTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Least.java b/jOOQ/src/main/java/org/jooq/impl/Least.java index 2db9566879..a5eb13617a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Least.java +++ b/jOOQ/src/main/java/org/jooq/impl/Least.java @@ -83,8 +83,6 @@ final class Least extends AbstractField { - - case DERBY: { Field first = (Field) args[0]; Field other = (Field) args[1]; diff --git a/jOOQ/src/main/java/org/jooq/impl/Limit.java b/jOOQ/src/main/java/org/jooq/impl/Limit.java index e2d652c140..8edfd51f94 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Limit.java +++ b/jOOQ/src/main/java/org/jooq/impl/Limit.java @@ -290,8 +290,6 @@ final class Limit extends AbstractQueryPart { - - case MYSQL: case SQLITE: { acceptDefaultLimitMandatory(ctx, castMode); @@ -307,20 +305,6 @@ final class Limit extends AbstractQueryPart { - - - - - - - - - - - case HSQLDB: - // No break - - // A default implementation is necessary for hashCode() and toString() default: { acceptDefault(ctx, castMode); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Log.java b/jOOQ/src/main/java/org/jooq/impl/Log.java index 7fcea0a84f..b2ac1711b7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Log.java +++ b/jOOQ/src/main/java/org/jooq/impl/Log.java @@ -154,6 +154,7 @@ extends + case DERBY: diff --git a/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java b/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java index 4098f1a1f1..58db68637e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java @@ -1320,8 +1320,6 @@ implements - - case MARIADB: case MYSQL: toSQLMySQLOnDuplicateKeyUpdate(ctx); @@ -1329,8 +1327,6 @@ implements - - case POSTGRES: toPostgresInsertOnConflict(ctx); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java index 9b4746c25d..8a2e4dda12 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java @@ -360,8 +360,6 @@ final class MetaImpl extends AbstractMeta { // [#3977] [#11255] PostgreSQL returns other object types, too - - case POSTGRES: types = new String[] { "FOREIGN TABLE", "MATERIALIZED VIEW", "SYSTEM_TABLE", "SYSTEM_VIEW", "TABLE", "VIEW" }; break; @@ -378,7 +376,6 @@ final class MetaImpl extends AbstractMeta { case SQLITE: types = new String[] { "TABLE", "VIEW" }; break; - /* [/pro] */ default: types = null; diff --git a/jOOQ/src/main/java/org/jooq/impl/NotField.java b/jOOQ/src/main/java/org/jooq/impl/NotField.java index 869c569712..c8db436fa3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NotField.java +++ b/jOOQ/src/main/java/org/jooq/impl/NotField.java @@ -65,39 +65,20 @@ final class NotField extends AbstractField { public final void accept(Context ctx) { switch (ctx.family()) { - // [#2485] These don't work nicely, yet + // [#2485] Some of these don't work nicely, yet + + + + + + + + case CUBRID: case FIREBIRD: - - - - - - - - - - - - ctx.visit(DSL.field(not(condition(field)))); break; - - - - - - - - // Native support - case DERBY: - case H2: - case HSQLDB: - case MARIADB: - case MYSQL: - case POSTGRES: - case SQLITE: default: ctx.visit(K_NOT) .sql('(') diff --git a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java index 77a37b8d21..50e39835bb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java +++ b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java @@ -73,8 +73,6 @@ final class NullStatement extends AbstractStatement { - - default: ctx.visit(K_NULL).sql(';'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Nvl.java b/jOOQ/src/main/java/org/jooq/impl/Nvl.java index 31c65419c6..164a5f8d45 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Nvl.java +++ b/jOOQ/src/main/java/org/jooq/impl/Nvl.java @@ -79,7 +79,6 @@ final class Nvl extends AbstractField { - case H2: case HSQLDB: ctx.visit(N_NVL).sql('(').visit(arg1).sql(", ").visit(arg2).sql(')'); @@ -87,8 +86,6 @@ final class Nvl extends AbstractField { - - case DERBY: case POSTGRES: ctx.visit(K_COALESCE).sql('(').visit(arg1).sql(", ").visit(arg2).sql(')'); @@ -97,8 +94,6 @@ final class Nvl extends AbstractField { - - case MARIADB: case MYSQL: case SQLITE: diff --git a/jOOQ/src/main/java/org/jooq/impl/Nvl2.java b/jOOQ/src/main/java/org/jooq/impl/Nvl2.java index 67530c7864..d8c6fc05dd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Nvl2.java +++ b/jOOQ/src/main/java/org/jooq/impl/Nvl2.java @@ -77,7 +77,6 @@ final class Nvl2 extends AbstractField { - case H2: case HSQLDB: ctx.visit(N_NVL2).sql('(').visit(arg1).sql(", ").visit(arg2).sql(", ").visit(arg3).sql(')'); diff --git a/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java index f812705a8c..9b0f58c35d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java @@ -122,11 +122,8 @@ final class QuantifiedSelectImpl extends AbstractQueryPart imp // [#869] Postgres supports this syntax natively - - - case POSTGRES: { + case POSTGRES: return array; - } // [#869] H2 and HSQLDB can emulate this syntax by unnesting // the array in a subselect diff --git a/jOOQ/src/main/java/org/jooq/impl/RTrim.java b/jOOQ/src/main/java/org/jooq/impl/RTrim.java index 9329908f4e..c77043234b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RTrim.java +++ b/jOOQ/src/main/java/org/jooq/impl/RTrim.java @@ -119,9 +119,6 @@ extends - - - case SQLITE: ctx.visit(N_RTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java b/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java index 1b75d7b50c..7cc8119ff3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java +++ b/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java @@ -74,13 +74,11 @@ final class RegexpLike extends AbstractCondition { - - case CUBRID: case H2: case MARIADB: case MYSQL: - case SQLITE: { + case SQLITE: ctx.visit(search) .sql(' ') .visit(K_REGEXP) @@ -88,28 +86,19 @@ final class RegexpLike extends AbstractCondition { .visit(pattern); break; - } // [#620] HSQLDB has its own syntax - case HSQLDB: { - + case HSQLDB: ctx.visit(keyword("regexp_matches")).sql('(').visit(search).sql(", ").visit(pattern).sql(')'); break; - } // [#620] Postgres has its own syntax - - - case POSTGRES: { - + case POSTGRES: ctx.sql('(').visit(search).sql(" ~ ").visit(pattern).sql(')'); break; - } - - @@ -121,15 +110,6 @@ final class RegexpLike extends AbstractCondition { // Render the SQL standard for those databases that do not support // regular expressions - - - - - - - - case DERBY: - case FIREBIRD: default: { ctx.sql('(') .visit(search) diff --git a/jOOQ/src/main/java/org/jooq/impl/RegexpReplace.java b/jOOQ/src/main/java/org/jooq/impl/RegexpReplace.java index 7c3bc91cbb..0e242d07f5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RegexpReplace.java +++ b/jOOQ/src/main/java/org/jooq/impl/RegexpReplace.java @@ -73,8 +73,6 @@ final class RegexpReplace extends AbstractField { - - case POSTGRES: ctx.visit(N_REGEXP_REPLACE).sql('(').visit(field).sql(", ").visit(pattern).sql(", ").visit(replacement); @@ -97,13 +95,6 @@ final class RegexpReplace extends AbstractField { - - - - - - case MYSQL: - // [#10151] TODO: Emulate REGEXP_REPLACE_FIRST for these three case H2: case HSQLDB: diff --git a/jOOQ/src/main/java/org/jooq/impl/Rollup.java b/jOOQ/src/main/java/org/jooq/impl/Rollup.java index 6d16bcfefc..1cb4369a18 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Rollup.java +++ b/jOOQ/src/main/java/org/jooq/impl/Rollup.java @@ -65,8 +65,6 @@ final class Rollup extends AbstractField { public final void accept(Context ctx) { switch (ctx.family()) { - - case CUBRID: case MARIADB: case MYSQL: diff --git a/jOOQ/src/main/java/org/jooq/impl/RowIdField.java b/jOOQ/src/main/java/org/jooq/impl/RowIdField.java index e92bb09e3b..1fbe42d5ab 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RowIdField.java +++ b/jOOQ/src/main/java/org/jooq/impl/RowIdField.java @@ -77,11 +77,6 @@ final class RowIdField extends AbstractField { - - - - - case SQLITE: default: ctx.visit(getQualifiedName()); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 376c20741d..1d439fba11 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -3644,8 +3644,6 @@ final class SelectQueryImpl extends AbstractResultQuery imp - - default: result.add(DSL.field("({select} 0)").asc()); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java index 8ce1838470..91fe077f43 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java @@ -241,22 +241,18 @@ public class SequenceImpl extends AbstractTypedNamed implem - - case POSTGRES: { + case POSTGRES: ctx.visit(method.keyword).sql('('); ctx.sql('\'').stringLiteral(true).visit(sequence).stringLiteral(false).sql('\''); ctx.sql(')'); break; - } - - case DERBY: case FIREBIRD: case H2: case HSQLDB: - case MARIADB: { + case MARIADB: if (method == SequenceMethod.NEXTVAL) ctx.visit(K_NEXT_VALUE_FOR).sql(' ').visit(sequence); else if (family == H2) @@ -285,9 +281,8 @@ public class SequenceImpl extends AbstractTypedNamed implem throw new SQLDialectNotSupportedException("The sequence's current value functionality is not supported for the " + family + " dialect."); } break; - } - case CUBRID: { + case CUBRID: ctx.visit(sequence).sql('.'); if (method == SequenceMethod.NEXTVAL) @@ -296,13 +291,11 @@ public class SequenceImpl extends AbstractTypedNamed implem ctx.visit(DSL.keyword("current_value")); break; - } // Default is needed for hashCode() and toString() - default: { + default: ctx.visit(sequence).sql('.').visit(method.keyword); break; - } } } diff --git a/jOOQ/src/main/java/org/jooq/impl/SetSchema.java b/jOOQ/src/main/java/org/jooq/impl/SetSchema.java index f91cfdcde7..6bd9964954 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SetSchema.java +++ b/jOOQ/src/main/java/org/jooq/impl/SetSchema.java @@ -105,7 +105,6 @@ extends - case MARIADB: case MYSQL: ctx.visit(K_USE).sql(' ').visit(schema); @@ -114,8 +113,6 @@ extends - - case POSTGRES: ctx.visit(K_SET).sql(' ').visit(K_SEARCH_PATH).sql(" = ").visit(schema); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Substring.java b/jOOQ/src/main/java/org/jooq/impl/Substring.java index ecc839166e..bd78b2c95f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Substring.java +++ b/jOOQ/src/main/java/org/jooq/impl/Substring.java @@ -114,8 +114,6 @@ extends // [#430] These databases use SQL standard syntax - - case FIREBIRD: { if (length == null) ctx.visit(N_SUBSTRING).sql('(').visit(string).sql(' ').visit(K_FROM).sql(' ').visit(startingPosition).sql(')'); diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 93f1203269..7a93cfe3d7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -4391,28 +4391,23 @@ final class Tools { - - - case FIREBIRD: { + case FIREBIRD: ctx.visit(K_EXECUTE_BLOCK).formatSeparator() .visit(K_AS).formatSeparator() .visit(K_BEGIN).formatIndentStart().formatSeparator(); break; - } - case MARIADB: { + case MARIADB: ctx.visit(K_BEGIN).sql(' ').visit(K_NOT).sql(' ').visit(K_ATOMIC).formatIndentStart().formatSeparator(); break; - } - case POSTGRES: { + case POSTGRES: if (increment(ctx.data(), DATA_BLOCK_NESTING)) ctx.visit(K_DO).sql(" $$").formatSeparator(); ctx.visit(K_BEGIN).formatIndentStart().formatSeparator(); break; - } } } @@ -4432,13 +4427,13 @@ final class Tools { case FIREBIRD: - case MARIADB: { + case MARIADB: ctx.formatIndentEnd().formatSeparator() .visit(K_END); break; - } - case POSTGRES: { + + case POSTGRES: ctx.formatIndentEnd().formatSeparator() .visit(K_END); @@ -4446,7 +4441,6 @@ final class Tools { ctx.sql(" $$"); break; - } } } @@ -4472,11 +4466,9 @@ final class Tools { - - case FIREBIRD: { + case FIREBIRD: ctx.visit(K_EXECUTE_STATEMENT).sql(" '").stringLiteral(true).formatIndentStart().formatSeparator(); break; - } } } @@ -4841,8 +4833,6 @@ final class Tools { } - - case POSTGRES: { begin(ctx, c -> { String sqlstate; @@ -4953,8 +4943,6 @@ final class Tools { case CUBRID: ctx.sql(' ').visit(K_AUTO_INCREMENT); break; - - case HSQLDB: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY).sql('(').visit(K_START_WITH).sql(" 1)"); break; case SQLITE: ctx.sql(' ').visit(K_PRIMARY_KEY).sql(' ').visit(K_AUTOINCREMENT); break; case POSTGRES: @@ -4963,15 +4951,12 @@ final class Tools { - - case POSTGRES: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY); break; } break; - case DERBY: case FIREBIRD: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY); break; } @@ -4988,8 +4973,6 @@ final class Tools { // [#5062] H2's (and others') AUTO_INCREMENT flag is syntactically located *after* NULL flags. switch (ctx.family()) { - - case H2: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY); break; @@ -5045,9 +5028,6 @@ final class Tools { switch (ctx.family()) { - - - case H2: case MARIADB: case MYSQL: { @@ -5066,8 +5046,6 @@ final class Tools { // [#7597] In PostgreSQL, the enum type reference should be used - - case POSTGRES: { // [#7597] but only if the EnumType.getSchema() value is present diff --git a/jOOQ/src/main/java/org/jooq/impl/Trim.java b/jOOQ/src/main/java/org/jooq/impl/Trim.java index b2b862f271..b8cb3603d8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Trim.java +++ b/jOOQ/src/main/java/org/jooq/impl/Trim.java @@ -119,8 +119,6 @@ extends else { switch (ctx.family()) { - - case SQLITE: ctx.visit(N_TRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Trunc.java b/jOOQ/src/main/java/org/jooq/impl/Trunc.java index a36422d715..b9e577b10d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Trunc.java +++ b/jOOQ/src/main/java/org/jooq/impl/Trunc.java @@ -94,8 +94,6 @@ extends switch (ctx.family()) { - - case DERBY: { Field power; @@ -115,8 +113,6 @@ extends - - case H2: case MARIADB: case MYSQL: @@ -127,8 +123,6 @@ extends // DOUBLE PRECISION ones - - case POSTGRES: ctx.visit(castIfNeeded( DSL.function("trunc", NUMERIC, @@ -155,13 +149,6 @@ extends - - - - - - case CUBRID: - case HSQLDB: default: ctx.visit(N_TRUNC).sql('(').visit(value).sql(", ").visit(decimals).sql(')'); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/TruncDate.java b/jOOQ/src/main/java/org/jooq/impl/TruncDate.java index 9654ca87bd..53314bc747 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TruncDate.java +++ b/jOOQ/src/main/java/org/jooq/impl/TruncDate.java @@ -129,9 +129,6 @@ final class TruncDate extends AbstractField { - - - case POSTGRES: { switch (part) { case YEAR: keyword = "year"; break; diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTConstant.java b/jOOQ/src/main/java/org/jooq/impl/UDTConstant.java index a962c91ab8..9bb0a1fcaf 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTConstant.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTConstant.java @@ -131,18 +131,10 @@ final class UDTConstant> extends AbstractParam { switch (ctx.family()) { - - case POSTGRES: ctx.visit(K_ROW); break; - - - - - - // Assume default behaviour if dialect is not available default: { ctx.visit(value.getUDT()); break; @@ -166,17 +158,9 @@ final class UDTConstant> extends AbstractParam { switch (ctx.family()) { - - case POSTGRES: return "ROW"; - - - - - - // Assume default behaviour if dialect is not available default: return Tools.getMappedUDTName(ctx.configuration(), value); }