diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java
index 7fb538b2c6..c08eaa3e84 100644
--- a/jOOQ/src/main/java/org/jooq/DSLContext.java
+++ b/jOOQ/src/main/java/org/jooq/DSLContext.java
@@ -9563,37 +9563,37 @@ public interface DSLContext extends Scope , AutoCloseable {
/**
* Grant a privilege on a table to user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantOnStep grant(Privilege privilege);
/**
* Grant privileges on a table to user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantOnStep grant(Privilege... privileges);
/**
* Grant privileges on a table to user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantOnStep grant(Collection extends Privilege> privileges);
/**
* Revoke a privilege on table from user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Privilege privilege);
/**
* Revoke privileges on table from user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Privilege... privileges);
/**
* Revoke privileges on table from user or role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Collection extends Privilege> privileges);
/**
diff --git a/jOOQ/src/main/java/org/jooq/GrantOnStep.java b/jOOQ/src/main/java/org/jooq/GrantOnStep.java
index 1dc9164d54..b91bd58b05 100644
--- a/jOOQ/src/main/java/org/jooq/GrantOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/GrantOnStep.java
@@ -37,6 +37,7 @@
*/
package org.jooq;
+import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...
@@ -55,13 +56,13 @@ public interface GrantOnStep {
/**
* Grant a privilege on a table.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantToStep on(Table> table);
/**
* Grant a privilege on a table.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantToStep on(Name table);
/**
@@ -73,6 +74,6 @@ public interface GrantOnStep {
* escape literals when concatenated into SQL clauses!
*/
@PlainSQL
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantToStep on(String table);
}
diff --git a/jOOQ/src/main/java/org/jooq/GrantToStep.java b/jOOQ/src/main/java/org/jooq/GrantToStep.java
index 3e4536ce85..12369a5fc4 100644
--- a/jOOQ/src/main/java/org/jooq/GrantToStep.java
+++ b/jOOQ/src/main/java/org/jooq/GrantToStep.java
@@ -37,6 +37,7 @@
*/
package org.jooq;
+import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...
@@ -55,18 +56,18 @@ public interface GrantToStep {
/**
* Grant a privilege to a user.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep to(User user);
/**
* Grant a privilege to a role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep to(Role role);
/**
* Grant a privilege to PUBLIC.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep toPublic();
}
diff --git a/jOOQ/src/main/java/org/jooq/RevokeFromStep.java b/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
index 1d8ed39491..efb0a5a6c8 100644
--- a/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
+++ b/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
@@ -37,6 +37,7 @@
*/
package org.jooq;
+import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...
@@ -55,18 +56,18 @@ public interface RevokeFromStep {
/**
* Revoke a privilege from a user.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFinalStep from(User user);
/**
* Revoke a privilege from a role.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFinalStep from(Role role);
/**
* Revoke a privilege from PUBLIC.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFinalStep fromPublic();
}
diff --git a/jOOQ/src/main/java/org/jooq/RevokeOnStep.java b/jOOQ/src/main/java/org/jooq/RevokeOnStep.java
index 28cf88d168..2a8c1c2b5f 100644
--- a/jOOQ/src/main/java/org/jooq/RevokeOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/RevokeOnStep.java
@@ -37,6 +37,7 @@
*/
package org.jooq;
+import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...
@@ -55,13 +56,13 @@ public interface RevokeOnStep {
/**
* Revoke a privilege on a table.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFromStep on(Table> table);
/**
* Revoke a privilege on a table.
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFromStep on(Name table);
/**
@@ -73,6 +74,6 @@ public interface RevokeOnStep {
* escape literals when concatenated into SQL clauses!
*/
@PlainSQL
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
RevokeFromStep on(String table);
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 757410fcc7..6f4b1bfd8e 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -7887,7 +7887,7 @@ public class DSL {
*
* @see #grant(Collection)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static GrantOnStep grant(Privilege privilege) {
return using(new DefaultConfiguration()).grant(privilege);
}
@@ -7913,7 +7913,7 @@ public class DSL {
*
* @see #grant(Collection)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static GrantOnStep grant(Privilege... privileges) {
return using(new DefaultConfiguration()).grant(privileges);
}
@@ -7939,7 +7939,7 @@ public class DSL {
*
* @see #grant(Privilege...)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static GrantOnStep grant(Collection extends Privilege> privileges) {
return using(new DefaultConfiguration()).grant(privileges);
}
@@ -7965,7 +7965,7 @@ public class DSL {
*
* @see #revoke(Collection)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static RevokeOnStep revoke(Privilege privilege) {
return using(new DefaultConfiguration()).revoke(privilege);
}
@@ -7991,7 +7991,7 @@ public class DSL {
*
* @see #revoke(Collection)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static RevokeOnStep revoke(Privilege... privileges) {
return using(new DefaultConfiguration()).revoke(privileges);
}
@@ -8017,7 +8017,7 @@ public class DSL {
*
* @see #revoke(Privilege...)
*/
- @Support({ H2, HSQLDB, POSTGRES })
+ @Support({ DERBY, H2, HSQLDB, POSTGRES })
public static RevokeOnStep revoke(Collection extends Privilege> privileges) {
return using(new DefaultConfiguration()).revoke(privileges);
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/GrantImpl.java b/jOOQ/src/main/java/org/jooq/impl/GrantImpl.java
index 559a310975..401628da5f 100644
--- a/jOOQ/src/main/java/org/jooq/impl/GrantImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/GrantImpl.java
@@ -53,7 +53,6 @@ import java.util.Collection;
import org.jooq.Clause;
import org.jooq.Configuration;
import org.jooq.Context;
-import org.jooq.GrantFinalStep;
import org.jooq.GrantOnStep;
import org.jooq.GrantToStep;
import org.jooq.GrantWithGrantOptionStep;
@@ -72,8 +71,7 @@ final class GrantImpl extends AbstractQuery implements
// Cascading interface implementations for Select behaviour
GrantOnStep,
GrantToStep,
- GrantWithGrantOptionStep,
- GrantFinalStep {
+ GrantWithGrantOptionStep {
/**
* Generated UID
diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
index eeef75a10a..2f7699d803 100644
--- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java
@@ -1305,6 +1305,7 @@ class ParserImpl implements Parser {
}
parseKeyword(ctx, "ON");
+ parseKeywordIf(ctx, "TABLE");
Table> table = parseTableName(ctx);
parseKeyword(ctx, "TO");
@@ -1330,6 +1331,7 @@ class ParserImpl implements Parser {
}
parseKeyword(ctx, "ON");
+ parseKeywordIf(ctx, "TABLE");
Table> table = parseTableName(ctx);
RevokeOnStep s1 = privileges == null ? ctx.dsl.revoke(privilege) : ctx.dsl.revoke(privileges);