Search in sources :

Example 1 with GrantWithGrantOptionStep

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

the class DefaultParseContext method parseGrant.

private final DDLQuery parseGrant() {
    parseKeyword("GRANT");
    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();
    parseKeyword("TO");
    User user = parseKeywordIf("PUBLIC") ? null : parseUser();
    GrantOnStep s1 = privileges == null ? dsl.grant(privilege) : dsl.grant(privileges);
    GrantToStep s2 = s1.on(table);
    GrantWithGrantOptionStep s3 = user == null ? s2.toPublic() : s2.to(user);
    return parseKeywordIf("WITH GRANT OPTION") ? s3.withGrantOption() : s3;
}
Also used : DSL.currentUser(org.jooq.impl.DSL.currentUser) User(org.jooq.User) GrantWithGrantOptionStep(org.jooq.GrantWithGrantOptionStep) Privilege(org.jooq.Privilege) GrantToStep(org.jooq.GrantToStep) GrantOnStep(org.jooq.GrantOnStep)

Aggregations

GrantOnStep (org.jooq.GrantOnStep)1 GrantToStep (org.jooq.GrantToStep)1 GrantWithGrantOptionStep (org.jooq.GrantWithGrantOptionStep)1 Privilege (org.jooq.Privilege)1 User (org.jooq.User)1 DSL.currentUser (org.jooq.impl.DSL.currentUser)1