From acc47ecb37b8d14d9632a286ff1499ba296e8ecb Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Wed, 31 Jul 2019 09:03:41 +0200 Subject: [PATCH] [jOOQ/jOOQ#8754] Remove more SQL templating - Got rid of a few more SQL templating cases - Removed some unnecessary nullSafe() calls - Use nullSafeDataType() where appropriate - Fix regression in OracleDSL#matches(Field, String, int) --- .../main/java/org/jooq/impl/CountTable.java | 2 +- jOOQ/src/main/java/org/jooq/impl/DSL.java | 20 +++++++------- jOOQ/src/main/java/org/jooq/impl/Prior.java | 4 +-- jOOQ/src/main/java/org/jooq/impl/Tools.java | 4 +-- jOOQ/src/main/java/org/jooq/impl/Trunc.java | 2 +- .../org/jooq/util/postgres/PostgresDSL.java | 26 +++++++++---------- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/CountTable.java b/jOOQ/src/main/java/org/jooq/impl/CountTable.java index 834170f70d..0771117565 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CountTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/CountTable.java @@ -55,7 +55,7 @@ final class CountTable extends Function { private final boolean distinct; CountTable(Table table, boolean distinct) { - super("count", distinct, SQLDataType.INTEGER, DSL.field("{0}", DSL.name(table.getName()))); + super("count", distinct, SQLDataType.INTEGER, DSL.name(table.getName())); this.table = table; this.distinct = distinct; diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 66d8644190..262d228f59 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -16012,7 +16012,7 @@ public class DSL { */ @Support({ H2, HSQLDB, POSTGRES }) public static Field toDate(Field value, Field format) { - return function("to_date", SQLDataType.DATE, nullSafe(value), nullSafe(format)); + return function("to_date", SQLDataType.DATE, value, format); } /** @@ -16056,7 +16056,7 @@ public class DSL { */ @Support({ H2, HSQLDB, POSTGRES }) public static Field toTimestamp(Field value, Field format) { - return function("to_timestamp", SQLDataType.TIMESTAMP, nullSafe(value), nullSafe(format)); + return function("to_timestamp", SQLDataType.TIMESTAMP, value, format); } @@ -16368,7 +16368,7 @@ public class DSL { */ @Support({ POSTGRES }) public static Field grouping(Field field) { - return function("grouping", Integer.class, nullSafe(field)); + return function("grouping", Integer.class, field); } /** @@ -16389,7 +16389,7 @@ public class DSL { */ @Support({}) public static Field groupingId(Field... fields) { - return function("grouping_id", Integer.class, nullSafe(fields)); + return function("grouping_id", Integer.class, fields); } // ------------------------------------------------------------------------ @@ -16962,7 +16962,7 @@ public class DSL { */ @Support public static Field abs(Field field) { - return function("abs", nullSafeDataType(field), nullSafe(field)); + return function("abs", nullSafeDataType(field), field); } /** @@ -17186,7 +17186,7 @@ public class DSL { */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) public static Field exp(Field field) { - return function("exp", SQLDataType.NUMERIC, nullSafe(field)); + return function("exp", SQLDataType.NUMERIC, field); } /** @@ -17413,7 +17413,7 @@ public class DSL { */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) public static Field cos(Field field) { - return function("cos", SQLDataType.NUMERIC, nullSafe(field)); + return function("cos", SQLDataType.NUMERIC, field); } /** @@ -17434,7 +17434,7 @@ public class DSL { */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) public static Field sin(Field field) { - return function("sin", SQLDataType.NUMERIC, nullSafe(field)); + return function("sin", SQLDataType.NUMERIC, field); } /** @@ -17455,7 +17455,7 @@ public class DSL { */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) public static Field tan(Field field) { - return function("tan", SQLDataType.NUMERIC, nullSafe(field)); + return function("tan", SQLDataType.NUMERIC, field); } /** @@ -17650,7 +17650,7 @@ public class DSL { */ @Support({ CUBRID }) public static Field connectByRoot(Field field) { - return field("{connect_by_root} {0}", nullSafe(field).getDataType(), field); + return field("{connect_by_root} {0}", nullSafeDataType(field), field); } /** diff --git a/jOOQ/src/main/java/org/jooq/impl/Prior.java b/jOOQ/src/main/java/org/jooq/impl/Prior.java index 52df56eff7..cb943a444a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Prior.java +++ b/jOOQ/src/main/java/org/jooq/impl/Prior.java @@ -38,7 +38,7 @@ package org.jooq.impl; import static org.jooq.impl.DSL.name; -import static org.jooq.impl.DSL.nullSafe; +import static org.jooq.impl.DSL.nullSafeDataType; import static org.jooq.impl.Keywords.K_PRIOR; import org.jooq.Context; @@ -57,7 +57,7 @@ final class Prior extends AbstractField { private final Field field; Prior(Field field) { - super(DSL.name("prior"), nullSafe(field).getDataType()); + super(DSL.name("prior"), nullSafeDataType(field)); this.field = field; } diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 0ce0981122..79c277d912 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -88,7 +88,7 @@ import static org.jooq.impl.DSL.escape; import static org.jooq.impl.DSL.getDataType; import static org.jooq.impl.DSL.keyword; import static org.jooq.impl.DSL.name; -import static org.jooq.impl.DSL.nullSafe; +import static org.jooq.impl.DSL.nullSafeDataType; import static org.jooq.impl.DSL.select; import static org.jooq.impl.DSL.val; import static org.jooq.impl.DefaultExecuteContext.localConnection; @@ -2952,7 +2952,7 @@ final class Tools { */ @SuppressWarnings("unchecked") static final Field escapeForLike(Field field, Configuration configuration) { - if (nullSafe(field).getDataType().isString()) { + if (nullSafeDataType(field).isString()) { diff --git a/jOOQ/src/main/java/org/jooq/impl/Trunc.java b/jOOQ/src/main/java/org/jooq/impl/Trunc.java index ae0775ff67..04eb8ce867 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Trunc.java +++ b/jOOQ/src/main/java/org/jooq/impl/Trunc.java @@ -119,7 +119,7 @@ final class Trunc extends AbstractField { case POSTGRES: ctx.visit(castIfNeeded( - DSL.field("{trunc}({0}, {1})", SQLDataType.NUMERIC, + DSL.function("trunc", SQLDataType.NUMERIC, castIfNeeded(field, BigDecimal.class), decimals ), diff --git a/jOOQ/src/main/java/org/jooq/util/postgres/PostgresDSL.java b/jOOQ/src/main/java/org/jooq/util/postgres/PostgresDSL.java index 9ef6470064..5ca6fa28ce 100644 --- a/jOOQ/src/main/java/org/jooq/util/postgres/PostgresDSL.java +++ b/jOOQ/src/main/java/org/jooq/util/postgres/PostgresDSL.java @@ -180,7 +180,7 @@ public class PostgresDSL extends DSL { // Java 8 is stricter than Java 7 with respect to generics and overload // resolution (http://stackoverflow.com/q/5361513/521799) static Field arrayAppend0(Field array, Field value) { - return function("array_append", nullSafe(array).getDataType(), nullSafe(array), nullSafe(value)); + return function("array_append", nullSafeDataType(array), array, value); } /** @@ -234,7 +234,7 @@ public class PostgresDSL extends DSL { // Java 8 is stricter than Java 7 with respect to generics and overload // resolution (http://stackoverflow.com/q/5361513/521799) static Field arrayPrepend0(Field value, Field array) { - return function("array_prepend", nullSafe(array).getDataType(), nullSafe(value), nullSafe(array)); + return function("array_prepend", nullSafeDataType(array), value, array); } /** @@ -282,7 +282,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayCat(Field array1, Field array2) { - return function("array_cat", nullSafe(array1).getDataType(), nullSafe(array1), nullSafe(array2)); + return function("array_cat", nullSafeDataType(array1), array1, array2); } /** @@ -318,7 +318,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayRemove(T[] array, Field element) { - return arrayRemove0(val(array), nullSafe(element)); + return arrayRemove0(val(array), element); } /** @@ -362,7 +362,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayReplace(T[] array, Field search, Field replace) { - return arrayReplace0(val(array), nullSafe(search), nullSafe(replace)); + return arrayReplace0(val(array), search, replace); } /** @@ -394,7 +394,7 @@ public class PostgresDSL extends DSL { // Java 8 is stricter than Java 7 with respect to generics and overload // resolution (http://stackoverflow.com/q/5361513/521799) static Field arrayReplace0(Field array, Field search, Field replace) { - return function("array_replace", array.getDataType(), nullSafe(array), nullSafe(search), nullSafe(replace)); + return function("array_replace", array.getDataType(), array, search, replace); } /** @@ -430,7 +430,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayFill(T value, Field dimensions) { - return arrayFill(val(value), nullSafe(dimensions)); + return arrayFill(val(value), dimensions); } /** @@ -442,7 +442,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayFill(Field value, Field dimensions) { - return function("array_fill", nullSafe(value).getDataType().getArrayDataType(), nullSafe(value), nullSafe(dimensions)); + return function("array_fill", nullSafeDataType(value).getArrayDataType(), value, dimensions); } /** @@ -478,7 +478,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayFill(T value, Field dimensions, Field bounds) { - return arrayFill(val(value), nullSafe(dimensions), nullSafe(bounds)); + return arrayFill(val(value), dimensions, bounds); } /** @@ -490,7 +490,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayFill(Field value, Field dimensions, Field bounds) { - return function("array_fill", nullSafe(value).getDataType().getArrayDataType(), nullSafe(value), nullSafe(dimensions), nullSafe(bounds)); + return function("array_fill", nullSafeDataType(value).getArrayDataType(), value, dimensions, bounds); } /** @@ -568,7 +568,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field arrayToString(Field array, Field delimiter) { - return field("{array_to_string}({0}, {1})", SQLDataType.VARCHAR, nullSafe(array), nullSafe(delimiter)); + return function("array_to_string", SQLDataType.VARCHAR, array, delimiter); } /** @@ -616,7 +616,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field stringToArray(Field string, Field delimiter) { - return function("string_to_array", SQLDataType.VARCHAR.getArrayDataType(), nullSafe(string), nullSafe(delimiter)); + return function("string_to_array", SQLDataType.VARCHAR.getArrayDataType(), string, delimiter); } /** @@ -664,7 +664,7 @@ public class PostgresDSL extends DSL { */ @Support({ POSTGRES }) public static Field stringToArray(Field string, Field delimiter, Field nullString) { - return function("string_to_array", SQLDataType.VARCHAR.getArrayDataType(), nullSafe(string), nullSafe(delimiter), nullSafe(nullString)); + return function("string_to_array", SQLDataType.VARCHAR.getArrayDataType(), string, delimiter, nullString); } // -------------------------------------------------------------------------