diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java index cf03cbbd6c..4fdcc71516 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java @@ -46,6 +46,7 @@ import static org.jooq.ExecuteType.DDL; // ... // ... // ... +// ... import static org.jooq.conf.ParamType.INDEXED; import static org.jooq.conf.ParamType.INLINED; import static org.jooq.conf.SettingsTools.executePreparedStatements; @@ -63,11 +64,13 @@ import java.util.Map; import org.jooq.AttachableInternal; import org.jooq.Configuration; +import org.jooq.Constants; import org.jooq.ExecuteContext; import org.jooq.ExecuteListener; import org.jooq.Param; import org.jooq.Query; import org.jooq.RenderContext; +import org.jooq.Select; import org.jooq.conf.ParamType; import org.jooq.conf.StatementType; import org.jooq.exception.ControlFlowSignal; @@ -426,12 +429,14 @@ abstract class AbstractQuery extends AbstractQueryPart implements Query, Attacha } private final String getSQL0(ExecuteContext ctx) { + String result; + /* [pro] xx xx xxxxxxx xxxxxx xxx xxxxxxxxxx xx xxx xxxxxxx xxxx xxxxxx xx xxxxxxxxxxx xx xxx xx xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxx - xxxxxx xxxxxxxxxxxxxxxx + xxxxxx x xxxxxxxxxxxxxxxx x xxxx xx [/pro] */ @@ -440,18 +445,62 @@ abstract class AbstractQuery extends AbstractQueryPart implements Query, Attacha try { RenderContext render = new DefaultRenderContext(configuration); render.data(DATA_COUNT_BIND_VALUES, true); - return render.render(this); + result = render.visit(this).render(); } catch (DefaultRenderContext.ForceInlineSignal e) { ctx.data(DATA_FORCE_STATIC_STATEMENT, true); - return getSQL(INLINED); + result = getSQL(INLINED); } } else { - return getSQL(INLINED); + result = getSQL(INLINED); } + + /* [pro] xx xx xxxxxxx xx + + xx xxxxxx xx xxx xxxxxx xx xxxxxxxxxx xxx xxxxx xxxxx + xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xx xxxx xxxxxxxxx xxx xxxxxxx xx x xxxxxxxx xxxxxxxx xxxx xxx xxx xxxxx + xx x xxxxxxxxxx xxxxxxx xx xxxx xxxx x xxxx xx xxxx xxxxx xxxxxxxx xx xx + xx xxx xxxx xx xxxxxx xxx xxxxxx xxxxxxxxx xxxx xxxxxxxx xxxxxxx + xx xxxxxxxxxxxxx xxx xx xxx xxxx xx xxxxxx xxx xxxxx xxxxxxx xxxxxxxx + xx xxxxxxxxxx x xxxxxxx xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx + + xx xxxxx xxxxxxxxxx xxxxxxx x + + xx xx xxxxx xx xxxxxx xx xxxxxx xxxxxx xxxxxx xxx xxx xxxxxxxx + xx xxxxxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x + x + xxxx xx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x + xxxxxx xx x xx xxx xxxxxxxx xxxx x xxxx xxxxx xxxxxxx xx xxxx x x xxxxxxxxxxxxxxxxxxxxxx x x xxxx + x + xxxx x + xxxxxx xx x xx xxx xxxxxxxx xxxx x xxxx xxxxx xxxxxxx xx xxxx x x xxxxxxxxxxxxxxxxxxxxxxx + x + x + + xx xxxxxxxxxxxxxxxxxxxxxx x xxxxxxxxx x + xxxxx xxx xxxxxxxxxxxxxxxxxxxxx xxxx xxxxxxxx x xxxxxx xxxxxxx xxxx xxx xxxx xxxxx xxxxxxxx xxxxxx xxxxxxxx xxxxxxxxx xx x xxxxxxxxxx xxxxxxx xx xxxxxxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxx xx xxx xxxx xxxxxxx xxxx xxxx xxxx xxxxxxxxx + x + + xx xxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxx x + xxxxx xxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxxx xxxxxx xxx xxxxx xxxx xxxx xxxx xxxxxx xxxxxxxx xxxxxxxxx xx x xxxxxxxxxx xxxxxxx xx xxxxxxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxx xx xxxxxx xxxx xxxx xxxxxxxxx + x + + xx xxxxxxxx xx xx [/pro] */ + return result; } + /* [pro] xx xx xxxxxxx xx + xxxxxxx xxxxxx xxxxx xxxx xxxx + xxxxxxx xxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx + + xxxxxx x + xxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + x + xx xxxxxxxx xx xx [/pro] */ + /** * {@inheritDoc} */ diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java index f44d05b745..3fbc97ddd9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java @@ -173,8 +173,8 @@ abstract class AbstractStoreQuery extends AbstractQuery implem public final void accept(Context ctx) { /* [pro] xx - xx xxxxxxxxxxxxxxxxxxxxx - xx xxxxxxxxxxxx xx xxx + xx xxxxxxxxxxxxx xx xxx + xx xxxxxxxxxxxxxxxxxxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx xxxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx xxxxxxxxxxxxxxx diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java index 33be90c9aa..d72a873e01 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java @@ -40,9 +40,6 @@ */ package org.jooq.impl; -import static java.util.Arrays.asList; -// ... -// ... import static org.jooq.SQLDialect.SQLITE; import static org.jooq.conf.ParamType.INDEXED; import static org.jooq.conf.ParamType.INLINED; @@ -71,7 +68,6 @@ import org.jooq.QueryPart; import org.jooq.QueryPartInternal; import org.jooq.RenderContext; import org.jooq.SQLDialect; -import org.jooq.Select; import org.jooq.conf.RenderKeywordStyle; import org.jooq.conf.RenderNameStyle; import org.jooq.conf.Settings; @@ -153,85 +149,9 @@ class DefaultRenderContext extends AbstractContext implements Ren return sql.toString(); } - /* [pro] xx xx xxxxxxx xx - xxxxxxx xxxxxx xxxxx xxxx xxxx - xxxxxxx xxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx - - xxxxxx x - xxxxxx x x xxxxxxxxxxxxx - xxxxxxxxxxxxxxxxxxxxxxxx x x xxxxx - - xxx x - x x xxx xxxxxxxxxxxxxxxxxxxxxxxxx - xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx - - xxxxxx xxx x xxxxx - xxxxxx xxxxxxxx x xxx xxxxxxxxxx xxxxxxxxxxxx - xxxxxxxxxxxxxxxxxxxxxx - xxx x xxx xxxxxxxxxxxxxxxxx - - xxxxxxxxxxxxxxxxxxxxxxx x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - xxxxxxxxxxxxxxxxxxxxxxx x x xxxxxxxxxxxxxxx - - xx xxxxxxxxxx x - x x xxxxxxxxxxx - x - x - xxxxx xxxxxxxxxx xxxxxxx xx - xxxxxxx x - xx xx xx xxxxx x - xxx x - xxxxxxxxxx - x - xxxxx xxxxxxxxxx xxxxxxx xx - x - x - - xx xxxxxx xxxxxxx xxxx xxxxxxxxxx - xxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - xxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - x - - xx xxxxxxxx xx xx [/pro] */ - @Override public final String render(QueryPart part) { - RenderContext local = new DefaultRenderContext(this).visit(part); - - /* [pro] xx xx xxxxxxx xx - - xx xxxxxx xx xxx xxxxxx xx xxxxxxxxxx xxx xxxxx xxxxx - xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - xx xxxx xxxxxxxxx xxx xxxxxxx xx x xxxxxxxx xxxxxxxx xxxx xxx xxx xxxxx - xx x xxxxxxxxxx xxxxxxx xx xxxx xxxx x xxxx xx xxxx xxxxx xxxxxxxx xx xx - xx xxx xxxx xx xxxxxx xxx xxxxxx xxxxxxxxx xxxx xxxxxxxx xxxxxxx - xx xxxxxxxxxxxxx xxx xx xxx xxxx xx xxxxxx xxx xxxxx xxxxxxx xxxxxxxx - xx xxxxxxxxxx x xxxxxxx xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx - - xx xxxxx xxxxxxxxxx xxxxxxx x - - xx xx xxxxx xx xxxxxx xx xxxxxx xxxxxx xxxxxx xxx xxx xxxxxxxx - xx xxxxxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x - x - xxxx xx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x - xxxxxxxxxxx xx xxx xxxxxxxx xxxx x xxxx xxxxx xxxxxxx xx xxxx x x xxxxxxxxxxxxxxxxxxxxxx x x xxxxx - x - xxxx x - xxxxxxxxxxx xx xxx xxxxxxxx xxxx x xxxx xxxxx xxxxxxx xx xxxx x x xxxxxxxxxxxxxxxxxxxxxxxx - x - x - - xx xxxxxxxxxxxxxxxxxxxxxx x xxxxxxx x - xxxxx xxx xxxxxxxxxxxxxxxxxxxxx xxxx xxxxxxxx x xxxxxx xxxxxxx xxxx xxx xxxx xxxxx xxxxxxxx xxxxxx xxxxxxxx xxxxxxxxx xx x xxxxxxxxxx xxxxxxx xx xxxxxxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxx xx xxx xxxx xxxxxxx xxxx xxxx xxxx xxxxxxxxx - x - - xx xxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxx x - xxxxx xxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxxx xxxxxx xxx xxxxx xxxx xxxx xxxx xxxxxx xxxxxxxx xxxxxxxxx xx x xxxxxxxxxx xxxxxxx xx xxxxxxx xxxxxxxxxxxxxxxxxxxxxx xx xxx xxxx xx xxxxxx xxxx xxxx xxxxxxxxx - x - - xx xxxxxxxx xx xx [/pro] */ - - return local.render(); + return new DefaultRenderContext(this).visit(part).render(); } @Override