[jOOQ/jOOQ#18221] BatchMultiple rendering Context doesn't have a
Context.executeContext()
This commit is contained in:
parent
60b93556ab
commit
a15ad7403b
@ -496,7 +496,7 @@ abstract class AbstractQuery<R extends Record> extends AbstractAttachableQueryPa
|
||||
}
|
||||
|
||||
private static final Rendered getSQL0(DefaultExecuteContext ctx) {
|
||||
Rendered rendered = Rendered.rendered(ctx.originalConfiguration(), ctx, true);
|
||||
Rendered rendered = Rendered.rendered(ctx.originalConfiguration(), ctx, ctx.query(), true, false);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,6 +50,7 @@ import org.jooq.ExecuteListener;
|
||||
import org.jooq.Query;
|
||||
import org.jooq.conf.SettingsTools;
|
||||
import org.jooq.exception.ControlFlowSignal;
|
||||
import org.jooq.impl.DefaultRenderContext.Rendered;
|
||||
import org.jooq.impl.R2DBC.BatchMultipleSubscriber;
|
||||
import org.jooq.impl.R2DBC.BatchSubscription;
|
||||
|
||||
@ -124,8 +125,10 @@ final class BatchMultiple extends AbstractBatch {
|
||||
for (int i = 0; i < ctx.batchQueries().length; i++) {
|
||||
ctx.sql(null);
|
||||
listener.renderStart(ctx);
|
||||
batchSQL[i] = DSL.using(configuration).renderInlined(ctx.batchQueries()[i]);
|
||||
ctx.sql(batchSQL[i]);
|
||||
|
||||
Rendered r = Rendered.rendered(configuration, ctx, ctx.batchQueries()[i], false, true);
|
||||
r.setSQLAndParams(ctx);
|
||||
ctx.sql(batchSQL[i] = r.sql);
|
||||
listener.renderEnd(ctx);
|
||||
}
|
||||
|
||||
|
||||
@ -207,7 +207,7 @@ final class BatchSingle extends AbstractBatch implements BatchBindStep {
|
||||
ctx.transformQueries(listener);
|
||||
|
||||
listener.renderStart(ctx);
|
||||
Rendered.rendered(configuration, ctx, false).setSQLAndParams(ctx);
|
||||
Rendered.rendered(configuration, ctx, ctx.batchQueries()[0], false, false).setSQLAndParams(ctx);
|
||||
listener.renderEnd(ctx);
|
||||
|
||||
listener.prepareStart(ctx);
|
||||
|
||||
@ -924,10 +924,13 @@ class DefaultRenderContext extends AbstractContext<RenderContext> implements Ren
|
||||
this.skipUpdateCounts = skipUpdateCounts;
|
||||
}
|
||||
|
||||
static Rendered rendered(Configuration c, DefaultExecuteContext ctx, boolean countBindValues) {
|
||||
Query query = ctx.batchMode() == BatchMode.SINGLE
|
||||
? ctx.batchQueries()[0]
|
||||
: ctx.query();
|
||||
static Rendered rendered(
|
||||
Configuration c,
|
||||
DefaultExecuteContext ctx,
|
||||
Query query,
|
||||
boolean countBindValues,
|
||||
boolean forceStaticStatement
|
||||
) {
|
||||
|
||||
// [#3542] [#4977] Some dialects do not support bind values in DDL statements
|
||||
// [#6474] [#6929] Can this be communicated in a leaner way?
|
||||
@ -936,7 +939,7 @@ class DefaultRenderContext extends AbstractContext<RenderContext> implements Ren
|
||||
DefaultRenderContext render = new DefaultRenderContext(c, ctx);
|
||||
return new Rendered(render.paramType(INLINED).visit(query).render(), null, render.skipUpdateCounts());
|
||||
}
|
||||
else if (executePreparedStatements(c.settings())) {
|
||||
else if (executePreparedStatements(c.settings()) && !forceStaticStatement) {
|
||||
try {
|
||||
DefaultRenderContext render = new DefaultRenderContext(c, ctx);
|
||||
render.data(DATA_COUNT_BIND_VALUES, countBindValues);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user