diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 113f78e2ae..aa4bec49d0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -53,6 +53,7 @@ import org.jooq.BindContext; import org.jooq.Clause; import org.jooq.Configuration; import org.jooq.Context; +import org.jooq.DSLContext; import org.jooq.QueryPart; import org.jooq.QueryPartInternal; import org.jooq.RenderContext; @@ -288,6 +289,11 @@ abstract class AbstractContext> extends AbstractScope imple return AbstractContext.this.configuration(); } + @Override + public final DSLContext dsl() { + return AbstractContext.this.dsl(); + } + @Override public final Settings settings() { return Tools.settings(configuration()); diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java index 60716f6b8d..5a9e55abb7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordContext.java @@ -38,6 +38,7 @@ import java.util.Arrays; import java.util.Map; import org.jooq.Configuration; +import org.jooq.DSLContext; import org.jooq.ExecuteType; import org.jooq.Record; import org.jooq.RecordContext; @@ -86,6 +87,11 @@ class DefaultRecordContext implements RecordContext { return configuration; } + @Override + public final DSLContext dsl() { + return configuration.dsl(); + } + @Override public final Settings settings() { return Tools.settings(configuration()); diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java index cbef04e40c..5e96b915a7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java @@ -67,6 +67,7 @@ import org.jooq.conf.RenderNameStyle; import org.jooq.conf.Settings; import org.jooq.exception.ControlFlowSignal; import org.jooq.exception.DataAccessException; +import org.jooq.impl.Tools.DataKey; import org.jooq.tools.JooqLogger; import org.jooq.tools.StringUtils; @@ -154,7 +155,9 @@ class DefaultRenderContext extends AbstractContext implements Ren @Override public final String render() { - return sql.toString(); + String prepend = (String) data(DataKey.DATA_PREPEND_SQL); + String result = sql.toString(); + return prepend == null ? result : prepend + result; } @Override