From 17ebbf9ff3a76c95beb41fabc7a2cb29a935833a Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Sat, 4 Aug 2012 13:44:22 +0200 Subject: [PATCH] [#1660] Factory.renderContext().castMode(CastMode.NEVER).render(query) doesn't work. CastMode is not applied --- .../org/jooq/impl/DefaultRenderContext.java | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java index d3d6f7df42..bb97749911 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java @@ -70,9 +70,9 @@ class DefaultRenderContext extends AbstractContext implements Ren private Stack indentLock = new Stack(); // [#1632] Cached values from Settings - private final RenderKeywordStyle renderKeywordStyle; - private final RenderNameStyle renderNameStyle; - private final boolean renderFormatted; + private final RenderKeywordStyle cachedRenderKeywordStyle; + private final RenderNameStyle cachedRenderNameStyle; + private final boolean cachedRenderFormatted; DefaultRenderContext(Configuration configuration) { super(configuration); @@ -80,9 +80,9 @@ class DefaultRenderContext extends AbstractContext implements Ren Settings settings = configuration.getSettings(); this.sql = new StringBuilder(); - this.renderKeywordStyle = settings.getRenderKeywordStyle(); - this.renderFormatted = Boolean.TRUE.equals(settings.isRenderFormatted()); - this.renderNameStyle = settings.getRenderNameStyle(); + this.cachedRenderKeywordStyle = settings.getRenderKeywordStyle(); + this.cachedRenderFormatted = Boolean.TRUE.equals(settings.isRenderFormatted()); + this.cachedRenderNameStyle = settings.getRenderNameStyle(); } DefaultRenderContext(RenderContext context) { @@ -90,6 +90,8 @@ class DefaultRenderContext extends AbstractContext implements Ren inline(context.inline()); namedParams(context.namedParams()); + qualify(context.qualify()); + castMode(context.castMode()); declareFields(context.declareFields()); declareTables(context.declareTables()); } @@ -120,7 +122,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext keyword(String keyword) { - if (RenderKeywordStyle.UPPER == renderKeywordStyle) { + if (RenderKeywordStyle.UPPER == cachedRenderKeywordStyle) { return sql(keyword.toUpperCase()); } else { @@ -130,7 +132,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext sql(String s) { - if (s != null && renderFormatted) { + if (s != null && cachedRenderFormatted) { sql.append(s.replaceAll("[\\n\\r]", "$0" + indentation())); } else { @@ -154,7 +156,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatNewLine() { - if (renderFormatted) { + if (cachedRenderFormatted) { sql.append("\n"); sql.append(indentation()); } @@ -168,7 +170,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatSeparator() { - if (renderFormatted) { + if (cachedRenderFormatted) { formatNewLine(); } else { @@ -190,7 +192,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatIndentStart(int i) { - if (renderFormatted) { + if (cachedRenderFormatted) { indent += i; } @@ -199,7 +201,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatIndentEnd(int i) { - if (renderFormatted) { + if (cachedRenderFormatted) { indent -= i; } @@ -208,7 +210,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatIndentLockStart() { - if (renderFormatted) { + if (cachedRenderFormatted) { indentLock.push(indent); String[] lines = sql.toString().split("[\\n\\r]"); indent = lines[lines.length - 1].length(); @@ -219,7 +221,7 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final RenderContext formatIndentLockEnd() { - if (renderFormatted) { + if (cachedRenderFormatted) { indent = indentLock.pop(); } @@ -234,13 +236,13 @@ class DefaultRenderContext extends AbstractContext implements Ren return this; } - if (RenderNameStyle.LOWER == renderNameStyle) { + if (RenderNameStyle.LOWER == cachedRenderNameStyle) { sql(literal.toLowerCase()); } - else if (RenderNameStyle.UPPER == renderNameStyle) { + else if (RenderNameStyle.UPPER == cachedRenderNameStyle) { sql(literal.toUpperCase()); } - else if (RenderNameStyle.AS_IS == renderNameStyle) { + else if (RenderNameStyle.AS_IS == cachedRenderNameStyle) { sql(literal); } else {