diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 6f87525283..97362c4593 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -3092,8 +3092,8 @@ public class DSL {
}
/**
- * function() can be used to access native functions that are
- * not yet or insufficiently supported by jOOQ.
+ * function() can be used to access native or user-defined
+ * functions that are not yet or insufficiently supported by jOOQ.
*
* NOTE: When inserting plain SQL into jOOQ objects, you must
* guarantee syntax integrity. You may also create the possibility of
@@ -3110,8 +3110,8 @@ public class DSL {
}
/**
- * function() can be used to access native functions that are
- * not yet or insufficiently supported by jOOQ.
+ * function() can be used to access native or user-defined
+ * functions that are not yet or insufficiently supported by jOOQ.
*
* NOTE: When inserting plain SQL into jOOQ objects, you must
* guarantee syntax integrity. You may also create the possibility of
@@ -3127,6 +3127,32 @@ public class DSL {
return new Function
diff --git a/jOOQ/src/main/java/org/jooq/impl/Function.java b/jOOQ/src/main/java/org/jooq/impl/Function.java
index bc9c3a967a..6bf5d4347a 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Function.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Function.java
@@ -55,6 +55,7 @@ import org.jooq.AggregateFunction;
import org.jooq.BindContext;
import org.jooq.DataType;
import org.jooq.Field;
+import org.jooq.Name;
import org.jooq.OrderedAggregateFunction;
import org.jooq.QueryPart;
import org.jooq.RenderContext;
@@ -92,8 +93,12 @@ class Functionfunction() can be used to access native or user-defined
+ * functions that are not yet or insufficiently supported by jOOQ.
+ *
+ * @param name The function name (possibly qualified)
+ * @param type The function return type
+ * @param arguments The function arguments
+ */
+ @Support
+ public static function() can be used to access native or user-defined
+ * functions that are not yet or insufficiently supported by jOOQ.
+ *
+ * @param name The function name (possibly qualified)
+ * @param type The function return type
+ * @param arguments The function arguments
+ */
+ @Support
+ public static LIST_AGG simulation for Postgres, Sybase
*/
private void toSQLStringAgg(RenderContext context) {
- context.sql(getFNName(context.configuration().dialect()));
+ toSQLFunctionName(context);
context.sql("(");
if (distinct) {
@@ -269,7 +301,7 @@ class FunctionLIST_AGG simulation for MySQL and CUBRID
*/
private final void toSQLGroupConcat(RenderContext context) {
- context.sql(getFNName(context.configuration().dialect()));
+ toSQLFunctionName(context);
context.sql("(");
if (distinct) {
@@ -377,7 +409,7 @@ class Function