---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/grant.sql
---
SOURCE_FILE
COMMENT "-- simple"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
SELECT_KW "select"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
INSERT_KW "insert"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
UPDATE_KW "update"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
DELETE_KW "delete"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
TRUNCATE_KW "truncate"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
REFERENCES_KW "references"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
TRIGGER_KW "trigger"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "maintain"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- on_table"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TABLE
TABLE_KW "table"
WHITESPACE " "
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
COMMA ","
WHITESPACE " "
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "b"
COMMA ","
WHITESPACE " "
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
COMMA ","
WHITESPACE " "
ROLE_REF
ROLE_REF_CURRENT_ROLE
CURRENT_ROLE_KW "current_role"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
WHITESPACE "\n "
GRANTED_BY_CLAUSE
GRANTED_KW "granted"
WHITESPACE " "
BY_KW "by"
WHITESPACE " "
ROLE_REF
ROLE_NAME_REF
IDENT "public"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TABLE
TABLE_KW "table"
WHITESPACE " "
RELATION_NAME_REF
PATH_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "s"
DOT "."
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- on_all_tables"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_TABLES_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
TABLES_KW "tables"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "bar"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_ROLE
CURRENT_ROLE_KW "current_role"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- columns"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
SELECT_KW "select"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "b"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "c"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
INSERT_KW "insert"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "b"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "c"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
UPDATE_KW "update"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "b"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "c"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
REFERENCES_KW "references"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "b"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "c"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
R_PAREN ")"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- sequence"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
SELECT_KW "select"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SEQUENCE
SEQUENCE_KW "sequence"
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
SELECT_KW "select"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SEQUENCE
SEQUENCE_KW "sequence"
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "public"
DOT "."
PATH_SEGMENT_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SEQUENCE
SEQUENCE_KW "sequence"
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
UPDATE_KW "update"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SEQUENCE
SEQUENCE_KW "sequence"
WHITESPACE " "
SEQUENCE_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "x"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_SEQUENCES_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
SEQUENCES_KW "sequences"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_SEQUENCES_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
SEQUENCES_KW "sequences"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- database"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
CREATE_KW "create"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DATABASE
DATABASE_KW "database"
WHITESPACE " "
DATABASE_REF
IDENT "a"
COMMA ","
WHITESPACE " "
DATABASE_REF
IDENT "b"
COMMA ","
WHITESPACE " "
DATABASE_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
CREATE_KW "create"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "connect"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
TEMPORARY_KW "temporary"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
TEMP_KW "temp"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DATABASE
DATABASE_KW "database"
WHITESPACE " "
DATABASE_REF
IDENT "a"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DATABASE
DATABASE_KW "database"
WHITESPACE " "
DATABASE_REF
IDENT "a"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- domain"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DOMAIN
DOMAIN_KW "domain"
WHITESPACE " "
DOMAIN_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "a"
COMMA ","
WHITESPACE " "
DOMAIN_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "b"
COMMA ","
WHITESPACE " "
DOMAIN_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DOMAIN
DOMAIN_KW "domain"
WHITESPACE " "
DOMAIN_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "d"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DOMAIN
DOMAIN_KW "domain"
WHITESPACE " "
DOMAIN_REF
PATH_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "s"
DOT "."
PATH_SEGMENT_REF
IDENT "d"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- foreign_data"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FOREIGN_DATA_WRAPPER
FOREIGN_KW "foreign"
WHITESPACE " "
DATA_KW "data"
WHITESPACE " "
WRAPPER_KW "wrapper"
WHITESPACE " "
FOREIGN_DATA_WRAPPER_REF
IDENT "a"
COMMA ","
WHITESPACE " "
FOREIGN_DATA_WRAPPER_REF
IDENT "b"
COMMA ","
WHITESPACE " "
FOREIGN_DATA_WRAPPER_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FOREIGN_DATA_WRAPPER
FOREIGN_KW "foreign"
WHITESPACE " "
DATA_KW "data"
WHITESPACE " "
WRAPPER_KW "wrapper"
WHITESPACE " "
FOREIGN_DATA_WRAPPER_REF
IDENT "d"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- foreign_server"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FOREIGN_SERVER
FOREIGN_KW "foreign"
WHITESPACE " "
SERVER_KW "server"
WHITESPACE " "
SERVER_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SERVER_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SERVER_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FOREIGN_SERVER
FOREIGN_KW "foreign"
WHITESPACE " "
SERVER_KW "server"
WHITESPACE " "
SERVER_REF
IDENT "d"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- function"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
EXECUTE_KW "execute"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FUNCTION
FUNCTION_KW "function"
WHITESPACE " "
FUNCTION_SIG_LIST
FUNCTION_SIG
FUNCTION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
FUNCTION_SIG
FUNCTION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "bar"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_OPTION
GRANT_KW "grant"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
EXECUTE_KW "execute"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_PROCEDURE
PROCEDURE_KW "procedure"
WHITESPACE " "
PROCEDURE_SIG_LIST
PROCEDURE_SIG
PROCEDURE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "foo"
PARAM_LIST
L_PAREN "("
PARAM
PARAM_IN
IN_KW "in"
WHITESPACE " "
PARAM_NAME
IDENT "a"
WHITESPACE " "
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
TEXT_KW "text"
COMMA ","
WHITESPACE " "
PARAM
PARAM_OUT
OUT_KW "out"
WHITESPACE " "
PARAM_NAME
IDENT "b"
WHITESPACE " "
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
NUMERIC_KW "numeric"
COMMA ","
WHITESPACE " "
PARAM
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
BIGINT_KW "bigint"
R_PAREN ")"
COMMA ","
WHITESPACE " "
PROCEDURE_SIG
PROCEDURE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "bar"
PARAM_LIST
L_PAREN "("
R_PAREN ")"
COMMA ","
WHITESPACE " "
PROCEDURE_SIG
PROCEDURE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "z"
PARAM_LIST
L_PAREN "("
PARAM
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
INT_KW "int"
R_PAREN ")"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ROUTINE
ROUTINE_KW "routine"
WHITESPACE " "
ROUTINE_SIG_LIST
ROUTINE_SIG
ROUTINE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "r"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_FUNCTIONS_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
FUNCTIONS_KW "functions"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_PROCEDURES_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
PROCEDURES_KW "procedures"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_ALL_ROUTINES_IN_SCHEMA
ALL_KW "all"
WHITESPACE " "
ROUTINES_KW "routines"
WHITESPACE " "
IN_KW "in"
WHITESPACE " "
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_PROCEDURE
PROCEDURE_KW "procedure"
WHITESPACE " "
PROCEDURE_SIG_LIST
PROCEDURE_SIG
PROCEDURE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "foo"
PARAM_LIST
L_PAREN "("
PARAM
PARAM_IN
IN_KW "in"
WHITESPACE " "
PARAM_NAME
IDENT "a"
WHITESPACE " "
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
TEXT_KW "text"
COMMA ","
WHITESPACE " "
PARAM
PARAM_OUT
OUT_KW "out"
WHITESPACE " "
PARAM_NAME
IDENT "b"
WHITESPACE " "
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
NUMERIC_KW "numeric"
COMMA ","
WHITESPACE " "
PARAM
PATH_TYPE
PATH_REF
PATH_SEGMENT_REF
BIGINT_KW "bigint"
R_PAREN ")"
COMMA ","
WHITESPACE " "
PROCEDURE_SIG
PROCEDURE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "bar"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- language"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_LANGUAGE
LANGUAGE_KW "language"
WHITESPACE " "
LANGUAGE_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_LANGUAGE
LANGUAGE_KW "language"
WHITESPACE " "
LANGUAGE_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_LANGUAGE
LANGUAGE_KW "language"
WHITESPACE " "
LANGUAGE_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
LANGUAGE_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- large_object"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
SELECT_KW "select"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
UPDATE_KW "update"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_LARGE_OBJECT
LARGE_KW "large"
WHITESPACE " "
OBJECT_KW "object"
WHITESPACE " "
LITERAL
INT_NUMBER "1012"
COMMA ","
WHITESPACE " "
LITERAL
INT_NUMBER "1231"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " "
PRIVILEGES_KW "privileges"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_LARGE_OBJECT
LARGE_KW "large"
WHITESPACE " "
OBJECT_KW "object"
WHITESPACE " "
LITERAL
INT_NUMBER "1012"
COMMA ","
WHITESPACE " "
LITERAL
INT_NUMBER "1231"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- param"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ALTER_KW "alter"
WHITESPACE " "
SYSTEM_KW "system"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_PARAMETER
PARAMETER_KW "parameter"
WHITESPACE " "
CONFIG_PARAMETER_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
CONFIG_PARAMETER_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
CONFIG_PARAMETER_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ALTER_KW "alter"
WHITESPACE " "
SYSTEM_KW "system"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_PARAMETER
PARAMETER_KW "parameter"
WHITESPACE " "
CONFIG_PARAMETER_REF
PATH_REF
PATH_SEGMENT_REF
BEGIN_KW "begin"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_PARAMETER
PARAMETER_KW "parameter"
WHITESPACE " "
CONFIG_PARAMETER_REF
PATH_REF
PATH_SEGMENT_REF
BEGIN_KW "begin"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- edge_case"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
SET_KW "set"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE " \n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
SET_KW "set"
WHITESPACE " \n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE " \n\n"
COMMENT "-- schema"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
CREATE_KW "create"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SCHEMA
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "s"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
CREATE_KW "create"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SCHEMA
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
COMMA ","
WHITESPACE " "
ROLE_REF
ROLE_NAME_REF
IDENT "public"
COMMA ","
WHITESPACE " "
ROLE_REF
GROUP_KW "group"
WHITESPACE " "
ROLE_NAME_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
ROLE_REF
ROLE_REF_CURRENT_ROLE
CURRENT_ROLE_KW "current_role"
COMMA ","
WHITESPACE " "
ROLE_REF
ROLE_REF_SESSION_USER
SESSION_USER_KW "session_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SCHEMA
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "a"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "b"
COMMA ","
WHITESPACE " "
SCHEMA_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- tablespace"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
CREATE_KW "create"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TABLESPACE
TABLESPACE_KW "tablespace"
WHITESPACE " "
TABLESPACE_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
TABLESPACE_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
TABLESPACE_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TABLESPACE
TABLESPACE_KW "tablespace"
WHITESPACE " "
TABLESPACE_REF
IDENT "foo"
COMMA ","
WHITESPACE " "
TABLESPACE_REF
IDENT "bar"
COMMA ","
WHITESPACE " "
TABLESPACE_REF
IDENT "buzz"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- type_"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE "\n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TYPE
TYPE_KW "type"
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "a"
COMMA ","
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "b"
COMMA ","
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "c"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TYPE
TYPE_KW "type"
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
ALL_PRIVILEGES
ALL_KW "all"
WHITESPACE " \n "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TYPE
TYPE_KW "type"
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "s"
DOT "."
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- option"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
ADMIN_KW "admin"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
INHERIT_KW "inherit"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
INHERIT_KW "inherit"
WHITESPACE " "
TRUE_KW "true"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
SET_KW "set"
WHITESPACE " "
FALSE_KW "false"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
COMMA ","
WHITESPACE " "
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "t"
COLUMN_REF_LIST
L_PAREN "("
COLUMN_NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
COLUMN_NAME_REF
IDENT "b"
R_PAREN ")"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
WHITESPACE "\n "
GRANT_WITH_CLAUSE
WITH_KW "with"
WHITESPACE " "
GRANT_ROLE_OPTION_LIST
GRANT_ROLE_OPTION
GRANT_ROLE_OPTION_NAME
SET_KW "set"
WHITESPACE " "
OPTION_KW "option"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "public"
WHITESPACE "\n "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_REF_CURRENT_USER
CURRENT_USER_KW "current_user"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
TYPE_KW "type"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_REF
PATH_SEGMENT_REF
TYPE_KW "type"
DOT "."
PATH_SEGMENT_REF
IDENT "foo"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
FUNCTION_KW "function"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_DEFAULT
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
SEQUENCE_KW "sequence"
COMMA ","
WHITESPACE " "
RELATION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
DOMAIN_KW "domain"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_TYPE
TYPE_KW "type"
WHITESPACE " "
TYPE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "t"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
EXECUTE_KW "execute"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_FUNCTION
FUNCTION_KW "function"
WHITESPACE " "
FUNCTION_SIG_LIST
FUNCTION_SIG
FUNCTION_NAME_REF
PATH_REF
PATH_SEGMENT_REF
IDENT "f"
PARAM_LIST
L_PAREN "("
R_PAREN ")"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"
GRANT
GRANT_KW "grant"
WHITESPACE " "
REVOKE_COMMAND_LIST
REVOKE_COMMAND
ROLE_REF
ROLE_NAME_REF
IDENT "usage"
WHITESPACE " "
ON_PRIVILEGE_OBJECTS_CLAUSE
ON_KW "on"
WHITESPACE " "
PRIVILEGE_SCHEMA
SCHEMA_KW "schema"
WHITESPACE " "
SCHEMA_REF
IDENT "s"
WHITESPACE " "
TO_KW "to"
WHITESPACE " "
ROLE_REF_LIST
ROLE_REF
ROLE_NAME_REF
IDENT "u"
SEMICOLON ";"
WHITESPACE "\n"