diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index a75e00c4e0..61c3f49f65 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -1555,6 +1555,19 @@ final class Tools { return castFields; } + /** + * [#461] [#473] [#2597] [#8234] Some internals need a cast only if necessary. + */ + @SuppressWarnings("unchecked") + static final Field[] castAllIfNeeded(Field[] fields, DataType type) { + Field[] castFields = new Field[fields.length]; + + for (int i = 0; i < fields.length; i++) + castFields[i] = castIfNeeded(fields[i], type); + + return castFields; + } + /** * [#461] [#473] [#2597] [#8234] Some internals need a cast only if necessary. */ diff --git a/jOOQ/src/main/java/org/jooq/impl/Xmlconcat.java b/jOOQ/src/main/java/org/jooq/impl/Xmlconcat.java index 77897b4244..e90a5e5a7d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Xmlconcat.java +++ b/jOOQ/src/main/java/org/jooq/impl/Xmlconcat.java @@ -93,6 +93,7 @@ implements @Override public final void accept(Context ctx) { + switch (ctx.family()) { @@ -100,7 +101,16 @@ implements - ctx.visit(N_XMLCONCAT).sql('(').visit(QueryPartCollectionView.wrap(args)).sql(')'); + + + + + + + default: + ctx.visit(N_XMLCONCAT).sql('(').visit(QueryPartCollectionView.wrap(args)).sql(')'); + break; + } } @@ -131,7 +141,7 @@ implements } public final Function1>, ? extends QOM.XMLConcat> $constructor() { - return (a1) -> new XMLConcat((Collection>) a1); + return (a1) -> new XMLConcat(a1); }