Search in sources :

Example 1 with RevokeOnStep

use of org.jooq.RevokeOnStep in project jOOQ by jOOQ.

the class DefaultParseContext method parseRevoke.

private final DDLQuery parseRevoke() {
    parseKeyword("REVOKE");
    boolean grantOptionFor = parseKeywordIf("GRANT OPTION FOR");
    Privilege privilege = parsePrivilege();
    List<Privilege> privileges = null;
    while (parseIf(',')) {
        if (privileges == null) {
            privileges = new ArrayList<>();
            privileges.add(privilege);
        }
        privileges.add(parsePrivilege());
    }
    parseKeyword("ON");
    parseKeywordIf("TABLE");
    Table<?> table = parseTableName();
    RevokeOnStep s1 = grantOptionFor ? privileges == null ? dsl.revokeGrantOptionFor(privilege) : dsl.revokeGrantOptionFor(privileges) : privileges == null ? dsl.revoke(privilege) : dsl.revoke(privileges);
    parseKeyword("FROM");
    User user = parseKeywordIf("PUBLIC") ? null : parseUser();
    RevokeFromStep s2 = s1.on(table);
    return user == null ? s2.fromPublic() : s2.from(user);
}
Also used : DSL.currentUser(org.jooq.impl.DSL.currentUser) User(org.jooq.User) RevokeFromStep(org.jooq.RevokeFromStep) Privilege(org.jooq.Privilege) RevokeOnStep(org.jooq.RevokeOnStep)

Aggregations

Privilege (org.jooq.Privilege)1 RevokeFromStep (org.jooq.RevokeFromStep)1 RevokeOnStep (org.jooq.RevokeOnStep)1 User (org.jooq.User)1 DSL.currentUser (org.jooq.impl.DSL.currentUser)1