diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index 89d2aea50a..4fc7a7dfc5 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -8513,6 +8513,14 @@ public interface DSLContext extends Scope , AutoCloseable { @Support({ DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) RowCountQuery setSchema(Schema schema); + /** + * Set a vendor specific flag to a new value. + * + * @see DSL#set(Name, Param) + */ + @Support({ MYSQL }) + RowCountQuery set(Name name, Param param); + // ------------------------------------------------------------------------- // XXX DDL Statements // ------------------------------------------------------------------------- diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 1ecc80996b..7901a61edd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -6588,6 +6588,16 @@ public class DSL { return dsl().setSchema(schema); } + /** + * Set a vendor specific flag to a new value. + * + * @see DSLContext#set(Name, Param) + */ + @Support({ MYSQL }) + public static RowCountQuery set(Name name, Param param) { + return dsl().set(name, param); + } + // ------------------------------------------------------------------------- // XXX DDL Statements // ------------------------------------------------------------------------- diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 9320f0ccbb..f913962c58 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -2898,6 +2898,11 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return new SetSchema(configuration(), schema); } + @Override + public RowCountQuery set(Name name, Param param) { + return new SetCommand(configuration(), name, param); + } + @Override public CommentOnIsStep commentOnTable(String tableName) { return commentOnTable(name(tableName)); diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 2532c0e1df..7ae443b971 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -2028,9 +2028,7 @@ final class ParserImpl implements Parser { // TODO: [#9780] Are there any possible syntaxes and data types? parseIf(ctx, '='); Object value = parseSignedIntegerIf(ctx); - - // TODO: [#9781] Create public DSL API for this - return new SetCommand(ctx.dsl.configuration(), name, value != null ? inline(value) : inline(parseStringLiteral(ctx))); + return ctx.dsl.set(name, value != null ? inline(value) : inline(parseStringLiteral(ctx))); } // There are many SET commands in programs like sqlplus, which we'll simply ignore diff --git a/jOOQ/src/main/java/org/jooq/impl/SetCommand.java b/jOOQ/src/main/java/org/jooq/impl/SetCommand.java index 2f25d16622..37830b5e02 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SetCommand.java +++ b/jOOQ/src/main/java/org/jooq/impl/SetCommand.java @@ -49,7 +49,7 @@ import org.jooq.Param; * * @author Lukas Eder */ -final class SetCommand extends AbstractQuery { +final class SetCommand extends AbstractRowCountQuery { /** * Generated UID