From 4a6762064e238316fe268977b8313424709f24cf Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 21 Oct 2019 09:40:50 +0200 Subject: [PATCH] [jOOQ/jOOQ#8528] Added additional TODOs --- jOOQ/src/main/java/org/jooq/Field.java | 84 +++++++++++++++++++ .../java/org/jooq/impl/DDLInterpreter.java | 8 ++ 2 files changed, 92 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index b7c2c4c32b..97d69454b0 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -3244,7 +3244,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#upper(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#upper(Field)} instead. */ + @Deprecated @Support Field upper(); @@ -3254,7 +3256,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#lower(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#lower(Field)} instead. */ + @Deprecated @Support Field lower(); @@ -3264,7 +3268,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#trim(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#trim(Field)} instead. */ + @Deprecated @Support Field trim(); @@ -3274,7 +3280,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#rtrim(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#rtrim(Field)} instead. */ + @Deprecated @Support Field rtrim(); @@ -3284,7 +3292,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#ltrim(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#ltrim(Field)} instead. */ + @Deprecated @Support Field ltrim(); @@ -3294,7 +3304,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#rpad(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#rpad(Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field rpad(Field length); @@ -3304,7 +3316,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#rpad(Field, int) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#rpad(Field, int)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field rpad(int length); @@ -3314,7 +3328,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#rpad(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#rpad(Field, Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field rpad(Field length, Field character); @@ -3324,7 +3340,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#rpad(Field, int, char) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#rpad(Field, int, char)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field rpad(int length, char character); @@ -3334,7 +3352,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#lpad(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#lpad(Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field lpad(Field length); @@ -3344,7 +3364,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#lpad(Field, int) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#lpad(Field, int)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field lpad(int length); @@ -3354,7 +3376,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#lpad(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#lpad(Field, Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field lpad(Field length, Field character); @@ -3364,7 +3388,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#lpad(Field, int, char) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#lpad(Field, int, char)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field lpad(int length, char character); @@ -3374,7 +3400,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#repeat(Field, int) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#repeat(Field, int)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field repeat(Number count); @@ -3384,7 +3412,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#repeat(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#repeat(Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field repeat(Field count); @@ -3394,7 +3424,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#replace(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#replace(Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) Field replace(Field search); @@ -3404,7 +3436,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#replace(Field, String) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#replace(Field, String)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) Field replace(String search); @@ -3414,7 +3448,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#replace(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#replace(Field, Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) Field replace(Field search, Field replace); @@ -3424,7 +3460,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#replace(Field, String, String) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#replace(Field, String, String)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) Field replace(String search, String replace); @@ -3434,7 +3472,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#position(Field, String) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#position(Field, String)} instead. */ + @Deprecated @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field position(String search); @@ -3444,7 +3484,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#position(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#position(Field, Field)} instead. */ + @Deprecated @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field position(Field search); @@ -3454,7 +3496,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#ascii(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#ascii(Field)} instead. */ + @Deprecated @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Field ascii(); @@ -3516,7 +3560,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#substring(Field, int) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#substring(Field, int)} instead. */ + @Deprecated @Support Field substring(int startingPosition); @@ -3526,7 +3572,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#substring(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#substring(Field, Field)} instead. */ + @Deprecated @Support Field substring(Field startingPosition); @@ -3536,7 +3584,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#substring(Field, int, int) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#substring(Field, int, int)} instead. */ + @Deprecated @Support Field substring(int startingPosition, int length); @@ -3546,7 +3596,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#substring(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#substring(Field, Field, Field)} instead. */ + @Deprecated @Support Field substring(Field startingPosition, Field length); @@ -3556,7 +3608,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#length(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#length(Field)} instead. */ + @Deprecated @Support Field length(); @@ -3566,7 +3620,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#charLength(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#charLength(Field)} instead. */ + @Deprecated @Support Field charLength(); @@ -3576,7 +3632,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#bitLength(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#bitLength(Field)} instead. */ + @Deprecated @Support Field bitLength(); @@ -3586,7 +3644,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#octetLength(Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#octetLength(Field)} instead. */ + @Deprecated @Support Field octetLength(); @@ -3636,7 +3696,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nvl(Field, Object) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nvl(Field, Object)} instead. */ + @Deprecated @Support Field nvl(T defaultValue); @@ -3646,7 +3708,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nvl(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nvl(Field, Field)} instead. */ + @Deprecated @Support Field nvl(Field defaultValue); @@ -3656,7 +3720,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nvl2(Field, Object, Object) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nvl2(Field, Object, Object)} instead. */ + @Deprecated @Support Field nvl2(Z valueIfNotNull, Z valueIfNull); @@ -3666,7 +3732,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nvl2(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nvl2(Field, Field, Field)} instead. */ + @Deprecated @Support Field nvl2(Field valueIfNotNull, Field valueIfNull); @@ -3676,7 +3744,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nullif(Field, Object) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nullif(Field, Object)} instead. */ + @Deprecated @Support Field nullif(T other); @@ -3686,7 +3756,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#nullif(Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#nullif(Field, Field)} instead. */ + @Deprecated @Support Field nullif(Field other); @@ -3696,7 +3768,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#decode(Object, Object, Object) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#decode(Object, Object, Object)} instead. */ + @Deprecated @Support Field decode(T search, Z result); @@ -3706,7 +3780,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#decode(Object, Object, Object, Object...) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#decode(Object, Object, Object, Object...)} instead. */ + @Deprecated @Support Field decode(T search, Z result, Object... more); @@ -3716,7 +3792,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#decode(Field, Field, Field) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#decode(Field, Field, Field)} instead. */ + @Deprecated @Support Field decode(Field search, Field result); @@ -3726,7 +3804,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#decode(Field, Field, Field, Field...) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#decode(Field, Field, Field, Field...)} instead. */ + @Deprecated @Support Field decode(Field search, Field result, Field... more); @@ -3736,7 +3816,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#coalesce(Object, Object...) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#coalesce(Object, Object...)} instead. */ + @Deprecated @Support Field coalesce(T option, T... options); @@ -3746,7 +3828,9 @@ extends * equivalent methods from {@link DSLContext} * * @see DSL#coalesce(Field, Field...) + * @deprecated - 3.13 - [#9407] - Use {@link DSL#coalesce(Field, Field...)} instead. */ + @Deprecated @Support Field coalesce(Field option, Field... options); diff --git a/jOOQ/src/main/java/org/jooq/impl/DDLInterpreter.java b/jOOQ/src/main/java/org/jooq/impl/DDLInterpreter.java index 64d702d17d..20c12f8951 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DDLInterpreter.java +++ b/jOOQ/src/main/java/org/jooq/impl/DDLInterpreter.java @@ -221,6 +221,7 @@ final class DDLInterpreter { Table table = query.$table(); MutableSchema schema = getSchema(table.getSchema(), true); + // TODO We're doing this all the time. Can this be factored out without adding too much abstraction? MutableTable existing = schema.table(table); if (existing != null) { if (!query.$ifNotExists()) @@ -727,6 +728,7 @@ final class DDLInterpreter { // Exceptions // ------------------------------------------------------------------------- + // TODO: Surely, these exception utilities can be refactored / improved? private static final DataDefinitionException unsupportedQuery(Query query) { return new DataDefinitionException("Unsupported query: " + query.getSQL()); } @@ -958,6 +960,8 @@ final class DDLInterpreter { return result; } + // TODO We shouldn't need this "normalize" method, but instead, work out how + // we can implement equivalent logic using configuration. private static final UnqualifiedName normalize(Named named) { return normalize((UnqualifiedName) named.getUnqualifiedName()); } @@ -1037,6 +1041,10 @@ final class DDLInterpreter { super(name); this.catalog = catalog; + + // TODO: I'm not sure we should let the constructor add "this" to + // someone else's collection. We're probably reusing code, but + // it seems surprising and is already inconsistent catalog.schemas.add(this); }