diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index bdf20682c3..2df8a2f8c0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -23518,6 +23518,135 @@ public class DSL { return new JSONTable(Tools.nullSafe(json), Tools.nullSafe(path)); } + // ------------------------------------------------------------------------- + // XXX Array functions + // ------------------------------------------------------------------------- + + /** + * Create an array literal. + *

+ * This translates to the following databases and syntaxes: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
+ */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field array(T... values) { + return array(Tools.fields(values)); + } + + /** + * Create an array literal. + *

+ * This translates to the following databases and syntaxes: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
+ */ + @SafeVarargs + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field array(Field... fields) { + return array(Arrays.asList(fields)); + } + + /** + * Create an array literal. + *

+ * This translates to the following databases and syntaxes: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
+ */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field array(Collection> fields) { + return new Array<>(fields); + } + + /** + * The PostgreSQL array(select) function. + *

+ * Example:

+     * {1, 2, 3} = array(select 1 union select 2 union select 3)
+     * 
+ */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field array(Select> select) { + return new ArraySelect<>(select); + } + + /** + * Calculate the cardinality of an array field. + */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field cardinality(Field field) { + return new Cardinality(field); + } + + /** + * Get an array element at a given index (1 based) + */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field arrayGet(Field field, int index) { + return arrayGet(field, Tools.field(index)); + } + + /** + * Get an array element at a given index (1 based) + */ + @NotNull + @Support({ H2, HSQLDB, POSTGRES }) + public static Field arrayGet(Field field, Field index) { + return new ArrayGet<>(Tools.nullSafe(field), Tools.nullSafe(index)); + } + // ------------------------------------------------------------------------- // XXX Aggregate functions // ------------------------------------------------------------------------- @@ -23759,131 +23888,6 @@ public class DSL { - - /** - * Create an array literal. - *

- * This translates to the following databases and syntaxes: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
- */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field array(T... values) { - return array(Tools.fields(values)); - } - - /** - * Create an array literal. - *

- * This translates to the following databases and syntaxes: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
- */ - @SafeVarargs - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field array(Field... fields) { - return array(Arrays.asList(fields)); - } - - /** - * Create an array literal. - *

- * This translates to the following databases and syntaxes: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
SQLDialectJavaSQL
{@link SQLDialect#H2}array(1, 2)(1, 2)
{@link SQLDialect#HSQLDB}, {@link SQLDialect#POSTGRES}array(1, 2)array[1, 2]
- */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field array(Collection> fields) { - return new Array<>(fields); - } - - /** - * The PostgreSQL array(select) function. - *

- * Example:

-     * {1, 2, 3} = array(select 1 union select 2 union select 3)
-     * 
- */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field array(Select> select) { - return new ArraySelect<>(select); - } - - /** - * Calculate the cardinality of an array field. - */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field cardinality(Field field) { - return new Cardinality(field); - } - - /** - * Get an array element at a given index (1 based) - */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field arrayGet(Field field, int index) { - return arrayGet(field, Tools.field(index)); - } - - /** - * Get an array element at a given index (1 based) - */ - @NotNull - @Support({ H2, HSQLDB, POSTGRES }) - public static Field arrayGet(Field field, Field index) { - return new ArrayGet<>(Tools.nullSafe(field), Tools.nullSafe(index)); - } /** * Get the max value over a field: max(field).