value
+ ) {
+ super(
+ false,
+ N_ANY_VALUE,
+ Tools.nullSafeDataType(value),
+ nullSafeNotNull(value, OTHER)
+ );
+ }
+
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
+ @Override
+ void acceptFunctionName(Context> ctx) {
+ switch (ctx.family()) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+ case CUBRID:
+ case DERBY:
+ case FIREBIRD:
+ case H2:
+ case HSQLDB:
+ case IGNITE:
+ case MARIADB:
+ case POSTGRES:
+ case SQLITE:
+ ctx.visit(N_MIN);
+ break;
+
+
+
+
+
+
+
+
+
+
+
+ default:
+ super.acceptFunctionName(ctx);
+ break;
+ }
+ }
+
+ @Override
+ public void accept(Context> ctx) {
+ super.accept(ctx);
+ }
+
+
+
+
+}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 9702e6a86c..093f12129e 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -23294,6 +23294,17 @@ public class DSL {
// XXX Aggregate functions
// -------------------------------------------------------------------------
+ /**
+ * The ANY_VALUE function.
+ *
+ * Get any arbitrary value from the group.
+ */
+ @NotNull
+ @Support
+ public static AggregateFunction anyValue(Field value) {
+ return new AnyValue(value);
+ }
+
/**
* Get the count(*) function.
*/
diff --git a/jOOQ/src/main/java/org/jooq/impl/Names.java b/jOOQ/src/main/java/org/jooq/impl/Names.java
index f67388fcf6..225cb2bad0 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Names.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Names.java
@@ -62,6 +62,7 @@ final class Names {
static final Name N_ADD_SECONDS = unquotedName("add_seconds");
static final Name N_ADD_YEARS = unquotedName("add_years");
static final Name N_ANY = unquotedName("any");
+ static final Name N_ANY_VALUE = unquotedName("any_value");
static final Name N_ARRAY = unquotedName("array");
static final Name N_ARRAY_AGG = unquotedName("array_agg");
static final Name N_ARRAY_GET = unquotedName("array_get");
diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
index 6408f2ee20..83a0d59ea3 100644
--- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
@@ -10809,6 +10809,8 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
parse(')');
switch (operation) {
+ case ANY_VALUE:
+ return anyValue(arg);
case AVG:
return distinct ? avgDistinct(arg) : avg(arg);
case MAX:
@@ -12310,6 +12312,8 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
case 'A':
if (parseFunctionNameIf("ANY"))
return ComputationalOperation.ANY;
+ else if (parseFunctionNameIf("ANY_VALUE"))
+ return ComputationalOperation.ANY_VALUE;
else if (parseFunctionNameIf("AVG"))
return ComputationalOperation.AVG;
@@ -12965,6 +12969,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
}
private static enum ComputationalOperation {
+ ANY_VALUE,
AVG,
MAX,
MIN,