From a0303b38cd4e5c1fb1dc1d6bb44612a42bd6deec Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 15 Feb 2018 18:01:01 +0100 Subject: [PATCH] [#7177] Flawed implementation of SET SCHEMA for PostgreSQL --- jOOQ/src/main/java/org/jooq/impl/Keywords.java | 1 + jOOQ/src/main/java/org/jooq/impl/SetSchema.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Keywords.java b/jOOQ/src/main/java/org/jooq/impl/Keywords.java index 87d80db906..97b05a62d8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Keywords.java +++ b/jOOQ/src/main/java/org/jooq/impl/Keywords.java @@ -240,6 +240,7 @@ final class Keywords { static final Keyword K_ROWS_WITH_TIES = keyword("rows with ties"); static final Keyword K_SCHEMA = keyword("schema"); static final Keyword K_SCN = keyword("scn"); + static final Keyword K_SEARCH_PATH = keyword("search_path"); static final Keyword K_SELECT = keyword("select"); static final Keyword K_SEPARATOR = keyword("separator"); static final Keyword K_SEQUENCE = keyword("sequence"); diff --git a/jOOQ/src/main/java/org/jooq/impl/SetSchema.java b/jOOQ/src/main/java/org/jooq/impl/SetSchema.java index 5cf29f3d31..76b6534d59 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SetSchema.java +++ b/jOOQ/src/main/java/org/jooq/impl/SetSchema.java @@ -40,6 +40,7 @@ package org.jooq.impl; import static org.jooq.impl.Keywords.K_ALTER; import static org.jooq.impl.Keywords.K_CURRENT_SCHEMA; import static org.jooq.impl.Keywords.K_SCHEMA; +import static org.jooq.impl.Keywords.K_SEARCH_PATH; import static org.jooq.impl.Keywords.K_SESSION; import static org.jooq.impl.Keywords.K_SET; import static org.jooq.impl.Keywords.K_USE; @@ -77,10 +78,13 @@ final class SetSchema extends AbstractQuery { ctx.visit(K_USE).sql(' ').visit(schema); break; + case POSTGRES: + ctx.visit(K_SET).sql(' ').visit(K_SEARCH_PATH).sql(" = ").visit(schema); + break; + case DERBY: case H2: case HSQLDB: - case POSTGRES: default: ctx.visit(K_SET).sql(' ').visit(K_SCHEMA).sql(' ').visit(schema); break;