> 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 extends Record1> select) {
+ return new ArraySelect<>(select);
+ }
+
+ /**
+ * Calculate the cardinality of an array field.
+ */
+ @NotNull
+ @Support({ H2, HSQLDB, POSTGRES })
+ public static Field cardinality(Field extends Object[]> 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:
- *
- *
- * SQLDialect |
- * Java |
- * SQL |
- *
- *
- * | {@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:
- *
- *
- * SQLDialect |
- * Java |
- * SQL |
- *
- *
- * | {@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:
- *
- *
- * SQLDialect |
- * Java |
- * SQL |
- *
- *
- * | {@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 extends Field> 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 extends Record1> select) {
- return new ArraySelect<>(select);
- }
-
- /**
- * Calculate the cardinality of an array field.
- */
- @NotNull
- @Support({ H2, HSQLDB, POSTGRES })
- public static Field cardinality(Field extends Object[]> 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).