diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java
index f5ec9d37c3..7fb538b2c6 100644
--- a/jOOQ/src/main/java/org/jooq/DSLContext.java
+++ b/jOOQ/src/main/java/org/jooq/DSLContext.java
@@ -9563,55 +9563,55 @@ public interface DSLContext extends Scope , AutoCloseable {
/**
* Grant a privilege on a table to user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantOnStep grant(Privilege privilege);
/**
* Grant privileges on a table to user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantOnStep grant(Privilege... privileges);
/**
* Grant privileges on a table to user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantOnStep grant(Collection extends Privilege> privileges);
/**
* Revoke a privilege on table from user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Privilege privilege);
/**
* Revoke privileges on table from user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Privilege... privileges);
/**
* Revoke privileges on table from user or role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeOnStep revoke(Collection extends Privilege> privileges);
/**
* Revoke grant option for a privilege on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
RevokeOnStep revokeGrantOptionFor(Privilege privilege);
/**
* Revoke grant option for some privileges on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
RevokeOnStep revokeGrantOptionFor(Privilege... privileges);
/**
* Revoke grant option for some privileges on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
RevokeOnStep revokeGrantOptionFor(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 9f24fd85fb..1dc9164d54 100644
--- a/jOOQ/src/main/java/org/jooq/GrantOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/GrantOnStep.java
@@ -38,6 +38,7 @@
package org.jooq;
import static org.jooq.SQLDialect.H2;
+import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@@ -54,13 +55,13 @@ public interface GrantOnStep {
/**
* Grant a privilege on a table.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantToStep on(Table> table);
/**
* Grant a privilege on a table.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantToStep on(Name table);
/**
@@ -72,6 +73,6 @@ public interface GrantOnStep {
* escape literals when concatenated into SQL clauses!
*/
@PlainSQL
- @Support({ H2, POSTGRES })
+ @Support({ 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 02b1d13526..3e4536ce85 100644
--- a/jOOQ/src/main/java/org/jooq/GrantToStep.java
+++ b/jOOQ/src/main/java/org/jooq/GrantToStep.java
@@ -38,6 +38,7 @@
package org.jooq;
import static org.jooq.SQLDialect.H2;
+import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@@ -54,18 +55,18 @@ public interface GrantToStep {
/**
* Grant a privilege to a user.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep to(User user);
/**
* Grant a privilege to a role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep to(Role role);
/**
* Grant a privilege to PUBLIC.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep toPublic();
}
diff --git a/jOOQ/src/main/java/org/jooq/GrantWithGrantOptionStep.java b/jOOQ/src/main/java/org/jooq/GrantWithGrantOptionStep.java
index b93720f2f9..03bc4db60a 100644
--- a/jOOQ/src/main/java/org/jooq/GrantWithGrantOptionStep.java
+++ b/jOOQ/src/main/java/org/jooq/GrantWithGrantOptionStep.java
@@ -37,6 +37,7 @@
*/
package org.jooq;
+import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@@ -52,6 +53,6 @@ public interface GrantWithGrantOptionStep extends GrantFinalStep{
/**
* Add the WITH GRANT OPTION clause.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
GrantFinalStep withGrantOption();
}
diff --git a/jOOQ/src/main/java/org/jooq/RevokeFromStep.java b/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
index c0476ff00d..1d8ed39491 100644
--- a/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
+++ b/jOOQ/src/main/java/org/jooq/RevokeFromStep.java
@@ -38,6 +38,7 @@
package org.jooq;
import static org.jooq.SQLDialect.H2;
+import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@@ -54,18 +55,18 @@ public interface RevokeFromStep {
/**
* Revoke a privilege from a user.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeFinalStep from(User user);
/**
* Revoke a privilege from a role.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeFinalStep from(Role role);
/**
* Revoke a privilege from PUBLIC.
*/
- @Support({ H2, POSTGRES })
+ @Support({ 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 442a225d98..28cf88d168 100644
--- a/jOOQ/src/main/java/org/jooq/RevokeOnStep.java
+++ b/jOOQ/src/main/java/org/jooq/RevokeOnStep.java
@@ -38,6 +38,7 @@
package org.jooq;
import static org.jooq.SQLDialect.H2;
+import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
@@ -54,13 +55,13 @@ public interface RevokeOnStep {
/**
* Revoke a privilege on a table.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeFromStep on(Table> table);
/**
* Revoke a privilege on a table.
*/
- @Support({ H2, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
RevokeFromStep on(Name table);
/**
@@ -72,6 +73,6 @@ public interface RevokeOnStep {
* escape literals when concatenated into SQL clauses!
*/
@PlainSQL
- @Support({ H2, POSTGRES })
+ @Support({ 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 d16004574b..757410fcc7 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, POSTGRES })
+ @Support({ 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, POSTGRES })
+ @Support({ 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, POSTGRES })
+ @Support({ 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, POSTGRES })
+ @Support({ 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, POSTGRES })
+ @Support({ 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, POSTGRES })
+ @Support({ H2, HSQLDB, POSTGRES })
public static RevokeOnStep revoke(Collection extends Privilege> privileges) {
return using(new DefaultConfiguration()).revoke(privileges);
}
@@ -8025,7 +8025,7 @@ public class DSL {
/**
* Revoke grant option for a privilege on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
public static RevokeOnStep revokeGrantOptionFor(Privilege privilege) {
return using(new DefaultConfiguration()).revoke(privilege);
}
@@ -8033,7 +8033,7 @@ public class DSL {
/**
* Revoke grant option for some privileges on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
public static RevokeOnStep revokeGrantOptionFor(Privilege... privileges) {
return using(new DefaultConfiguration()).revoke(privileges);
}
@@ -8041,7 +8041,7 @@ public class DSL {
/**
* Revoke grant option for some privileges on a table from user or role.
*/
- @Support({ POSTGRES })
+ @Support({ HSQLDB, POSTGRES })
public static RevokeOnStep revokeGrantOptionFor(Collection extends Privilege> privileges) {
return using(new DefaultConfiguration()).revoke(privileges);
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/RevokeImpl.java b/jOOQ/src/main/java/org/jooq/impl/RevokeImpl.java
index 036e9f378f..013de71595 100644
--- a/jOOQ/src/main/java/org/jooq/impl/RevokeImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/RevokeImpl.java
@@ -41,11 +41,13 @@ import static org.jooq.Clause.REVOKE;
import static org.jooq.Clause.REVOKE_FROM;
import static org.jooq.Clause.REVOKE_ON;
import static org.jooq.Clause.REVOKE_PRIVILEGE;
+import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.impl.DSL.table;
import static org.jooq.impl.Keywords.K_FROM;
import static org.jooq.impl.Keywords.K_GRANT_OPTION_FOR;
import static org.jooq.impl.Keywords.K_ON;
import static org.jooq.impl.Keywords.K_PUBLIC;
+import static org.jooq.impl.Keywords.K_RESTRICT;
import static org.jooq.impl.Keywords.K_REVOKE;
import java.util.Collection;
@@ -131,6 +133,9 @@ final class RevokeImpl extends AbstractQuery implements
else
ctx.visit(K_PUBLIC);
+ if (ctx.family() == HSQLDB)
+ ctx.sql(' ').visit(K_RESTRICT);
+
ctx.end(REVOKE_FROM);
}