> $constructor() {
+ return (a1, a2) -> new ArrayMap<>(a1, a2);
+ }
+
+ // -------------------------------------------------------------------------
+ // XXX: The Object API
+ // -------------------------------------------------------------------------
+
+ @Override
+ public boolean equals(Object that) {
+ if (that instanceof QOM.ArrayMap, ?> o) {
+ return
+ StringUtils.equals($array(), o.$array()) &&
+ StringUtils.equals($mapper(), o.$mapper())
+ ;
+ }
+ else
+ return super.equals(that);
+ }
+}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 002ba605d5..bc15fc9afd 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -22464,6 +22464,50 @@ public class DSL {
return new ArrayFilter<>(array, filter);
}
+ /**
+ * The ARRAY_MAP function.
+ *
+ * Filter elements out of an array.
+ */
+ @NotNull
+ @Support({ CLICKHOUSE, DUCKDB, H2, HSQLDB, POSTGRES, TRINO, YUGABYTEDB })
+ public static Field arrayMap(T[] array, Function1 super Field, ? extends Field> mapper) {
+ return new ArrayMap<>(Tools.field(array), DSL.lambda(array, mapper));
+ }
+
+ /**
+ * The ARRAY_MAP function.
+ *
+ * Filter elements out of an array.
+ */
+ @NotNull
+ @Support({ CLICKHOUSE, DUCKDB, H2, HSQLDB, POSTGRES, TRINO, YUGABYTEDB })
+ public static Field arrayMap(T[] array, Lambda1 mapper) {
+ return new ArrayMap<>(Tools.field(array), mapper);
+ }
+
+ /**
+ * The ARRAY_MAP function.
+ *
+ * Filter elements out of an array.
+ */
+ @NotNull
+ @Support({ CLICKHOUSE, DUCKDB, H2, HSQLDB, POSTGRES, TRINO, YUGABYTEDB })
+ public static Field arrayMap(Field array, Function1 super Field, ? extends Field> mapper) {
+ return new ArrayMap<>(array, DSL.lambda(array, mapper));
+ }
+
+ /**
+ * The ARRAY_MAP function.
+ *
+ * Filter elements out of an array.
+ */
+ @NotNull
+ @Support({ CLICKHOUSE, DUCKDB, H2, HSQLDB, POSTGRES, TRINO, YUGABYTEDB })
+ public static Field arrayMap(Field array, Lambda1 mapper) {
+ return new ArrayMap<>(array, mapper);
+ }
+
// -------------------------------------------------------------------------
// Utility functions
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/impl/Names.java b/jOOQ/src/main/java/org/jooq/impl/Names.java
index 32e74f6c2c..b9e27860d6 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Names.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Names.java
@@ -338,6 +338,7 @@ final class Names {
static final Name N_ARRAY_GET = systemName("array_get");
static final Name N_ARRAY_INTERSECT = systemName("array_intersect");
static final Name N_ARRAY_LENGTH = systemName("array_length");
+ static final Name N_ARRAY_MAP = systemName("array_map");
static final Name N_ARRAY_OVERLAP = systemName("array_overlap");
static final Name N_ARRAY_PREPEND = systemName("array_prepend");
static final Name N_ARRAY_REMOVE = systemName("array_remove");
@@ -649,6 +650,8 @@ final class Names {
static final Name N_XMLSERIALIZE_CONTENT = systemName("xmlserialize_content");
static final Name N_XOR = systemName("xor");
static final Name N_arrayConcat = systemName("arrayConcat");
+ static final Name N_arrayFilter = systemName("arrayFilter");
+ static final Name N_arrayMap = systemName("arrayMap");
static final Name N_arrayPushBack = systemName("arrayPushBack");
static final Name N_arrayPushFront = systemName("arrayPushFront");
static final Name N_bitAnd = systemName("bitAnd");
diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java
index d87c4a356d..d87f4d8261 100644
--- a/jOOQ/src/main/java/org/jooq/impl/QOM.java
+++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java
@@ -6352,6 +6352,26 @@ public final class QOM {
@NotNull default ArrayFilter $filter(Lambda1 newFilter) { return $arg2(newFilter); }
}
+ /**
+ * The ARRAY MAP function.
+ *
+ * Filter elements out of an array.
+ */
+ public /*sealed*/ interface ArrayMap
+ extends
+ UOperator2, Lambda1, ArrayMap>,
+ org.jooq.Field
+ //permits
+ // ArrayMap
+ {
+ @NotNull default Field $array() { return $arg1(); }
+ @CheckReturnValue
+ @NotNull default ArrayMap $array(Field newArray) { return $arg1(newArray); }
+ @NotNull default Lambda1 $mapper() { return $arg2(); }
+ @CheckReturnValue
+ @NotNull default ArrayMap $mapper(Lambda1 newMapper) { return $arg2(newMapper); }
+ }
+
/**
* The NVL function.
*