From 2f568eb7e355376eb35ef21ab5e24abade935ffd Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 11 Apr 2012 21:52:00 +0000 Subject: [PATCH] [#1288] SQL syntax errors from sequences when using RenderMapping's defaultSchema --- .../jOOQOracleTest (default schema).launch | 20 +++++++++++++++++++ .../src/org/jooq/test/jOOQAbstractTest.java | 4 +++- .../java/org/jooq/impl/SequenceFunction.java | 8 +++++--- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 jOOQ-test/launch/jOOQOracleTest (default schema).launch diff --git a/jOOQ-test/launch/jOOQOracleTest (default schema).launch b/jOOQ-test/launch/jOOQOracleTest (default schema).launch new file mode 100644 index 0000000000..dded35dad8 --- /dev/null +++ b/jOOQ-test/launch/jOOQOracleTest (default schema).launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java index 284bc2ce85..1bab80dd3f 100644 --- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java +++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java @@ -697,9 +697,11 @@ public abstract class jOOQAbstractTest< } protected final Factory create() { + String defaultSchema = System.getProperty("org.jooq.settings.defaultSchema", ""); + Settings settings = SettingsTools.defaultSettings() .withRenderMapping(new RenderMapping() - .withDefaultSchema("")) + .withDefaultSchema(defaultSchema)) .withExecuteListeners( TestStatisticsListener.class.getName(), DebugListener.class.getName()); diff --git a/jOOQ/src/main/java/org/jooq/impl/SequenceFunction.java b/jOOQ/src/main/java/org/jooq/impl/SequenceFunction.java index 50e556e5a4..b0f4769c16 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SequenceFunction.java +++ b/jOOQ/src/main/java/org/jooq/impl/SequenceFunction.java @@ -41,6 +41,7 @@ import static org.jooq.impl.Factory.field; import org.jooq.Configuration; import org.jooq.Field; import org.jooq.RenderContext; +import org.jooq.Schema; import org.jooq.exception.SQLDialectNotSupportedException; /** @@ -73,7 +74,7 @@ class SequenceFunction extends AbstractFunction { String field = getQualifiedName(configuration) + "." + method; return field(field, getDataType()); } - + case H2: case POSTGRES: { String field = method + "('" + getQualifiedName(configuration) + "')"; @@ -114,9 +115,10 @@ class SequenceFunction extends AbstractFunction { private final String getQualifiedName(Configuration configuration) { RenderContext local = create(configuration).renderContext(); + Schema mappedSchema = Util.getMappedSchema(configuration, sequence.schema); - if (sequence.schema != null && configuration.getDialect() != CUBRID) { - local.sql(Util.getMappedSchema(configuration, sequence.schema)); + if (mappedSchema != null && configuration.getDialect() != CUBRID) { + local.sql(mappedSchema); local.sql("."); }