[#6812] Added GRANT / REVOKE support for HSQLDB

This commit is contained in:
lukaseder 2017-12-19 15:33:24 +01:00
parent 0024dc8258
commit 9d310e5ee7
8 changed files with 41 additions and 31 deletions

View File

@ -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);
// -------------------------------------------------------------------------

View File

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

View File

@ -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 <code>PUBLIC</code>.
*/
@Support({ H2, POSTGRES })
@Support({ H2, HSQLDB, POSTGRES })
GrantWithGrantOptionStep toPublic();
}

View File

@ -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 <code>WITH GRANT OPTION</code> clause.
*/
@Support({ POSTGRES })
@Support({ HSQLDB, POSTGRES })
GrantFinalStep withGrantOption();
}

View File

@ -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 <code>PUBLIC</code>.
*/
@Support({ H2, POSTGRES })
@Support({ H2, HSQLDB, POSTGRES })
RevokeFinalStep fromPublic();
}

View File

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

View File

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

View File

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