diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index dc32ad0b6c..8425a99d9d 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -19955,6 +19955,48 @@ public class DSL {
return new Min(field, true);
}
+ /**
+ * The PRODUCT function.
+ *
+ * Get the sum over a numeric field: product(distinct field). + *
+ * Few dialects currently support multiplicative aggregation natively. jOOQ
+ * emulates this using exp(sum(log(arg))) for strictly positive
+ * numbers, and does some additional handling for zero and negative numbers.
+ *
+ * Note that this implementation may introduce rounding errors, even for + * integer multiplication. + *
+ * More information here: https://blog.jooq.org/2018/09/21/how-to-write-a-multiplication-aggregate-function-in-sql.
+ */
+ @NotNull
+ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTE })
+ public static AggregateFunction
+ * Get the sum over a numeric field: product(distinct field).
+ *
+ * Few dialects currently support multiplicative aggregation natively. jOOQ
+ * emulates this using
+ * Note that this implementation may introduce rounding errors, even for
+ * integer multiplication.
+ *
+ * More information here: https://blog.jooq.org/2018/09/21/how-to-write-a-multiplication-aggregate-function-in-sql.
+ */
+ @NotNull
+ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTE })
+ public static AggregateFunction
@@ -25066,44 +25108,6 @@ public class DSL {
-
- /**
- * Get the product over a numeric field: product(field).
- *
- * No database currently supports multiplicative aggregation natively. jOOQ
- * emulates this using
- * Note that this implementation may introduce rounding errors, even for
- * integer multiplication.
- *
- * More information here: https://blog.jooq.org/2018/09/21/how-to-write-a-multiplication-aggregate-function-in-sql.
- */
- @NotNull
- @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTE })
- public static AggregateFunction
- * No database currently supports multiplicative aggregation natively. jOOQ
- * emulates this using
- * Note that this implementation may introduce rounding errors, even for
- * integer multiplication.
- *
- * More information here: https://blog.jooq.org/2018/09/21/how-to-write-a-multiplication-aggregate-function-in-sql.
- */
- @NotNull
- @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, YUGABYTE })
- public static AggregateFunctionPRODUCT_DISTINCT function.
+ * exp(sum(log(arg))) for strictly positive
+ * numbers, and does some additional handling for zero and negative numbers.
+ * REGR_AVGX function.
* exp(sum(log(arg))) for strictly positive
- * numbers, and does some additional handling for zero and negative numbers.
- * exp(sum(log(arg))) for strictly positive
- * numbers, and does some additional handling for zero and negative numbers.
- * mode(field) aggregate function.
diff --git a/jOOQ/src/main/java/org/jooq/impl/Product.java b/jOOQ/src/main/java/org/jooq/impl/Product.java
index 17c14d6ffd..43d497d0c3 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Product.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Product.java
@@ -37,38 +37,56 @@
*/
package org.jooq.impl;
-// ...
-// ...
-// ...
-import static org.jooq.impl.DSL.aggregate;
-import static org.jooq.impl.DSL.aggregateDistinct;
-import static org.jooq.impl.DSL.choose;
-import static org.jooq.impl.DSL.inline;
-import static org.jooq.impl.DSL.one;
-import static org.jooq.impl.DSL.when;
-import static org.jooq.impl.DSL.zero;
-import static org.jooq.impl.Internal.imul;
-import static org.jooq.impl.Names.N_MUL;
-import static org.jooq.impl.Names.N_PRODUCT;
-import static org.jooq.impl.SQLDataType.NUMERIC;
-import static org.jooq.impl.Tools.EMPTY_FIELD;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.impl.Tools.DataExtendedKey.*;
+import static org.jooq.impl.Tools.DataKey.*;
+import static org.jooq.SQLDialect.*;
+import org.jooq.*;
+import org.jooq.Record;
+import org.jooq.conf.*;
+import org.jooq.impl.*;
+import org.jooq.tools.*;
+
+import java.util.*;
+import java.util.function.*;
+import java.util.stream.*;
import java.math.BigDecimal;
-import org.jooq.Context;
-import org.jooq.Field;
-import org.jooq.Name;
-// ...
/**
- * @author Lukas Eder
+ * The PRODUCT statement.
*/
-final class Product extends AbstractAggregateFunction