[#7177] Flawed implementation of SET SCHEMA for PostgreSQL

This commit is contained in:
lukaseder 2018-02-15 18:01:01 +01:00
parent 6d365676de
commit a0303b38cd
2 changed files with 6 additions and 1 deletions

View File

@ -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");

View File

@ -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;