diff --git a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java
index 4703078580..b875f61f36 100644
--- a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java
+++ b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java
@@ -38,6 +38,7 @@
package org.jooq;
// ...
+import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.POSTGRES_9_4;
/**
@@ -69,6 +70,6 @@ public interface OrderedAggregateFunctionOfDeferredType {
* Add an WITHIN GROUP (ORDER BY ..) clause to the ordered
* aggregate function
*/
- @Support({ POSTGRES_9_4 })
+ @Support({ H2, POSTGRES_9_4 })
AggregateFilterStep withinGroupOrderBy(OrderField field);
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index afaa7e399d..b1312184da 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -17837,7 +17837,7 @@ public class DSL {
/**
* The mode(field) aggregate function.
*/
- @Support({ POSTGRES_9_4 })
+ @Support({ H2, POSTGRES_9_4 })
public static AggregateFunction mode(Field field) {
return new org.jooq.impl.Function(Term.MODE, nullSafeDataType(field), field);
}
@@ -17845,7 +17845,7 @@ public class DSL {
/**
* Get the median over a numeric field: median(field).
*/
- @Support({ CUBRID, HSQLDB, MARIADB, POSTGRES_9_4 })
+ @Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES_9_4 })
public static AggregateFunction median(Field extends Number> field) {
return new org.jooq.impl.Function(Term.MEDIAN, SQLDataType.NUMERIC, nullSafe(field));
}
@@ -18155,7 +18155,7 @@ public class DSL {
* The mode() within group (oder by [order clause]) ordered
* aggregate function.
*/
- @Support({ POSTGRES_9_4 })
+ @Support({ H2, POSTGRES_9_4 })
public static OrderedAggregateFunctionOfDeferredType mode() {
return new Mode();
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/Function.java b/jOOQ/src/main/java/org/jooq/impl/Function.java
index eb749a3e0d..535f38a9b4 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Function.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Function.java
@@ -239,7 +239,7 @@ class Function extends AbstractField implements
- else if (term == MODE && ( ctx.family() == POSTGRES)) {
+ else if (term == MODE && ( ctx.family() == H2 || ctx.family() == POSTGRES)) {
ctx.visit(mode().withinGroupOrderBy(DSL.field("{0}", arguments.get(0))));
}
else if (term == MEDIAN && ( ctx.family() == POSTGRES)) {