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 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 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 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 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 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 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); }