diff --git a/jOOQ/src/main/java/org/jooq/impl/Function.java b/jOOQ/src/main/java/org/jooq/impl/Function.java index 4e95a7e1b6..c343f2e897 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Function.java +++ b/jOOQ/src/main/java/org/jooq/impl/Function.java @@ -358,16 +358,17 @@ class Function extends AbstractField implements ctx.sql(" ") .keyword("over") - .sql(" (") - .visit(window) - .sql(")"); + .sql(" ") + .visit(window); } @SuppressWarnings("unchecked") final QueryPart window(Context ctx) { if (windowSpecification != null) - return windowSpecification; + return DSL.sql("({0})", windowSpecification); + // [#3727] Referenced WindowDefinitions that contain a frame clause + // shouldn't be referenced from within parentheses (in PostgreSQL) if (windowDefinition != null) return windowDefinition;