diff --git a/docs/generated/sql/bnf/alter_ddl_stmt.bnf b/docs/generated/sql/bnf/alter_ddl_stmt.bnf index 0e082ff4b36c..1f396cb0b7c7 100644 --- a/docs/generated/sql/bnf/alter_ddl_stmt.bnf +++ b/docs/generated/sql/bnf/alter_ddl_stmt.bnf @@ -8,3 +8,4 @@ alter_ddl_stmt ::= | alter_partition_stmt | alter_schema_stmt | alter_type_stmt + | alter_default_privileges_stmt diff --git a/docs/generated/sql/bnf/alter_default_privileges_stmt.bnf b/docs/generated/sql/bnf/alter_default_privileges_stmt.bnf new file mode 100644 index 000000000000..e06511cacbc4 --- /dev/null +++ b/docs/generated/sql/bnf/alter_default_privileges_stmt.bnf @@ -0,0 +1,3 @@ +alter_default_privileges_stmt ::= + 'ALTER' 'DEFAULT' 'PRIVILEGES' opt_for_role opt_in_schema abbreviated_grant_stmt + | 'ALTER' 'DEFAULT' 'PRIVILEGES' opt_for_role opt_in_schema abbreviated_revoke_stmt diff --git a/docs/generated/sql/bnf/stmt_block.bnf b/docs/generated/sql/bnf/stmt_block.bnf index 5c64676a4275..fbaa4488df29 100644 --- a/docs/generated/sql/bnf/stmt_block.bnf +++ b/docs/generated/sql/bnf/stmt_block.bnf @@ -377,6 +377,7 @@ alter_ddl_stmt ::= | alter_partition_stmt | alter_schema_stmt | alter_type_stmt + | alter_default_privileges_stmt alter_role_stmt ::= 'ALTER' role_or_group_or_user string_or_placeholder opt_role_options @@ -885,6 +886,7 @@ unreserved_keyword ::= | 'FORCE' | 'FORCE_INDEX' | 'FUNCTION' + | 'FUNCTIONS' | 'GENERATED' | 'GEOMETRYM' | 'GEOMETRYZ' @@ -1046,6 +1048,7 @@ unreserved_keyword ::= | 'ROLES' | 'ROLLBACK' | 'ROLLUP' + | 'ROUTINES' | 'ROWS' | 'RULE' | 'RUNNING' @@ -1307,6 +1310,10 @@ alter_type_stmt ::= | 'ALTER' 'TYPE' type_name 'SET' 'SCHEMA' schema_name | 'ALTER' 'TYPE' type_name 'OWNER' 'TO' role_spec +alter_default_privileges_stmt ::= + 'ALTER' 'DEFAULT' 'PRIVILEGES' opt_for_role opt_in_schema abbreviated_grant_stmt + | 'ALTER' 'DEFAULT' 'PRIVILEGES' opt_for_role opt_in_schema abbreviated_revoke_stmt + role_or_group_or_user ::= 'ROLE' | 'USER' @@ -1778,6 +1785,21 @@ opt_add_val_placement ::= | 'AFTER' 'SCONST' | +opt_for_role ::= + 'FOR' role_or_group_or_user role_spec + | + +opt_in_schema ::= + 'IN' 'SCHEMA' qualifiable_schema_name + | + +abbreviated_grant_stmt ::= + 'GRANT' privileges 'ON' alter_default_privileges_target_object 'TO' name_list opt_with_grant_option + +abbreviated_revoke_stmt ::= + 'REVOKE' privileges 'ON' alter_default_privileges_target_object 'FROM' name_list opt_drop_behavior + | 'REVOKE' 'GRANT' 'OPTION' 'FOR' privileges 'ON' alter_default_privileges_target_object 'FROM' name_list opt_drop_behavior + role_options ::= ( role_option ) ( ( role_option ) )* @@ -2248,6 +2270,16 @@ survival_goal_clause ::= primary_region_clause ::= 'PRIMARY' 'REGION' opt_equal region_name +alter_default_privileges_target_object ::= + 'TABLES' + | 'SEQUENCES' + | 'TYPES' + | 'SCHEMAS' + +opt_with_grant_option ::= + 'WITH' 'GRANT' 'OPTION' + | + role_option ::= 'CREATEROLE' | 'NOCREATEROLE' diff --git a/pkg/sql/alter_default_privileges.go b/pkg/sql/alter_default_privileges.go new file mode 100644 index 000000000000..e13e15f6a0b3 --- /dev/null +++ b/pkg/sql/alter_default_privileges.go @@ -0,0 +1,24 @@ +// Copyright 2021 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package sql + +import ( + "context" + + "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" +) + +func (p *planner) alterDefaultPrivileges( + ctx context.Context, n *tree.AlterDefaultPrivileges, +) (planNode, error) { + // TODO: implement this. + return nil, nil +} diff --git a/pkg/sql/opaque.go b/pkg/sql/opaque.go index d5699065a1ea..53e29a23348c 100644 --- a/pkg/sql/opaque.go +++ b/pkg/sql/opaque.go @@ -86,6 +86,8 @@ func planOpaque(ctx context.Context, p *planner, stmt tree.Statement) (planNode, return p.AlterDatabasePrimaryRegion(ctx, n) case *tree.AlterDatabaseSurvivalGoal: return p.AlterDatabaseSurvivalGoal(ctx, n) + case *tree.AlterDefaultPrivileges: + return p.alterDefaultPrivileges(ctx, n) case *tree.AlterIndex: return p.AlterIndex(ctx, n) case *tree.AlterSchema: @@ -219,6 +221,7 @@ func init() { &tree.AlterDatabaseOwner{}, &tree.AlterDatabasePrimaryRegion{}, &tree.AlterDatabaseSurvivalGoal{}, + &tree.AlterDefaultPrivileges{}, &tree.AlterIndex{}, &tree.AlterSchema{}, &tree.AlterTable{}, diff --git a/pkg/sql/parser/sql.y b/pkg/sql/parser/sql.y index 1f9d68191ed1..fe940392b002 100644 --- a/pkg/sql/parser/sql.y +++ b/pkg/sql/parser/sql.y @@ -216,6 +216,9 @@ func (u *sqlSymUnion) strs() []string { func (u *sqlSymUnion) user() security.SQLUsername { return u.val.(security.SQLUsername) } +func (u *sqlSymUnion) userPtr() *security.SQLUsername { + return u.val.(*security.SQLUsername) +} func (u *sqlSymUnion) users() []security.SQLUsername { return u.val.([]security.SQLUsername) } @@ -655,6 +658,18 @@ func (u *sqlSymUnion) objectNamePrefix() tree.ObjectNamePrefix { func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { return u.val.(tree.ObjectNamePrefixList) } +func (u *sqlSymUnion) abbreviatedGrant() tree.AbbreviatedGrant { + return u.val.(tree.AbbreviatedGrant) +} +func (u *sqlSymUnion) abbreviatedRevoke() tree.AbbreviatedRevoke { + return u.val.(tree.AbbreviatedRevoke) +} +func (u *sqlSymUnion) objectNamePrefixPtr() *tree.ObjectNamePrefix { + return u.val.(*tree.ObjectNamePrefix) +} +func (u *sqlSymUnion) alterDefaultPrivilegesTargetObject() tree.AlterDefaultPrivilegesTargetObject { + return u.val.(tree.AlterDefaultPrivilegesTargetObject) +} %} // NB: the %token definitions must come before the %type definitions in this @@ -704,7 +719,7 @@ func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { %token FAILURE FALSE FAMILY FETCH FETCHVAL FETCHTEXT FETCHVAL_PATH FETCHTEXT_PATH %token FILES FILTER -%token FIRST FLOAT FLOAT4 FLOAT8 FLOORDIV FOLLOWING FOR FORCE FORCE_INDEX FOREIGN FROM FULL FUNCTION +%token FIRST FLOAT FLOAT4 FLOAT8 FLOORDIV FOLLOWING FOR FORCE FORCE_INDEX FOREIGN FROM FULL FUNCTION FUNCTIONS %token GENERATED GEOGRAPHY GEOMETRY GEOMETRYM GEOMETRYZ GEOMETRYZM %token GEOMETRYCOLLECTION GEOMETRYCOLLECTIONM GEOMETRYCOLLECTIONZ GEOMETRYCOLLECTIONZM @@ -751,7 +766,7 @@ func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { %token REGCLASS REGION REGIONAL REGIONS REGPROC REGPROCEDURE REGNAMESPACE REGTYPE REINDEX %token REMOVE_PATH RENAME REPEATABLE REPLACE REPLICATION %token RELEASE RESET RESTORE RESTRICT RESUME RETURNING RETRY REVISION_HISTORY REVOKE RIGHT -%token ROLE ROLES ROLLBACK ROLLUP ROW ROWS RSHIFT RULE RUNNING +%token ROLE ROLES ROLLBACK ROLLUP ROUTINES ROW ROWS RSHIFT RULE RUNNING %token SAVEPOINT SCANS SCATTER SCHEDULE SCHEDULES SCHEMA SCHEMAS SCRUB SEARCH SECOND SELECT SEQUENCE SEQUENCES %token SERIALIZABLE SERVER SESSION SESSIONS SESSION_USER SET SETS SETTING SETTINGS @@ -865,6 +880,9 @@ func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { %type alter_sequence_set_schema_stmt %type alter_sequence_owner_stmt +// ALTER DEFAULT PRIVILEGES +%type alter_default_privileges_stmt + %type backup_stmt %type begin_stmt @@ -1302,6 +1320,14 @@ func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { %type schedule_state %type opt_schedule_executor_type +%type abbreviated_grant_stmt +%type abbreviated_revoke_stmt +%type opt_with_grant_option +%type <*security.SQLUsername> opt_for_role +%type <*tree.ObjectNamePrefix> opt_in_schema +%type alter_default_privileges_target_object + + // Precedence: lowest to highest %nonassoc VALUES // see value_clause %nonassoc SET // see table_expr_opt_alias_idx @@ -1413,15 +1439,16 @@ alter_stmt: | ALTER error // SHOW HELP: ALTER alter_ddl_stmt: - alter_table_stmt // EXTEND WITH HELP: ALTER TABLE -| alter_index_stmt // EXTEND WITH HELP: ALTER INDEX -| alter_view_stmt // EXTEND WITH HELP: ALTER VIEW -| alter_sequence_stmt // EXTEND WITH HELP: ALTER SEQUENCE -| alter_database_stmt // EXTEND WITH HELP: ALTER DATABASE -| alter_range_stmt // EXTEND WITH HELP: ALTER RANGE -| alter_partition_stmt // EXTEND WITH HELP: ALTER PARTITION -| alter_schema_stmt // EXTEND WITH HELP: ALTER SCHEMA -| alter_type_stmt // EXTEND WITH HELP: ALTER TYPE + alter_table_stmt // EXTEND WITH HELP: ALTER TABLE +| alter_index_stmt // EXTEND WITH HELP: ALTER INDEX +| alter_view_stmt // EXTEND WITH HELP: ALTER VIEW +| alter_sequence_stmt // EXTEND WITH HELP: ALTER SEQUENCE +| alter_database_stmt // EXTEND WITH HELP: ALTER DATABASE +| alter_range_stmt // EXTEND WITH HELP: ALTER RANGE +| alter_partition_stmt // EXTEND WITH HELP: ALTER PARTITION +| alter_schema_stmt // EXTEND WITH HELP: ALTER SCHEMA +| alter_type_stmt // EXTEND WITH HELP: ALTER TYPE +| alter_default_privileges_stmt // EXTEND WITH HELP: ALTER DEFAULT PRIVILEGES // %Help: ALTER TABLE - change the definition of a table // %Category: DDL @@ -2888,11 +2915,6 @@ alter_unsupported_stmt: { return unimplemented(sqllex, "alter aggregate") } -| ALTER DEFAULT error - { - return unimplemented(sqllex, "alter default privileges") - } - // %Help: IMPORT - load data from file in a distributed manner // %Category: CCL @@ -7826,6 +7848,115 @@ alter_rename_index_stmt: $$.val = &tree.RenameIndex{Index: $5.newTableIndexName(), NewName: tree.UnrestrictedName($8), IfExists: true} } +alter_default_privileges_stmt: + ALTER DEFAULT PRIVILEGES opt_for_role opt_in_schema abbreviated_grant_stmt + { + $$.val = &tree.AlterDefaultPrivileges{ + Role: $4.userPtr(), + Schema: $5.objectNamePrefixPtr(), + Grant: $6.abbreviatedGrant(), + IsGrant: true, + } + } +| ALTER DEFAULT PRIVILEGES opt_for_role opt_in_schema abbreviated_revoke_stmt + { + $$.val = &tree.AlterDefaultPrivileges{ + Role: $4.userPtr(), + Schema: $5.objectNamePrefixPtr(), + Revoke: $6.abbreviatedRevoke(), + IsGrant: false, + } + } + +abbreviated_grant_stmt: + GRANT privileges ON alter_default_privileges_target_object TO name_list opt_with_grant_option + { + $$.val = tree.AbbreviatedGrant{ + Privileges: $2.privilegeList(), + Target: $4.alterDefaultPrivilegesTargetObject(), + Grantees: $6.nameList(), + WithGrantOption: $7.bool(), + } + } + +opt_with_grant_option: + WITH GRANT OPTION + { + $$.val = true + } +| /* EMPTY */ + { + $$.val = false + } + +abbreviated_revoke_stmt: + REVOKE privileges ON alter_default_privileges_target_object FROM name_list opt_drop_behavior + { + $$.val = tree.AbbreviatedRevoke{ + Privileges: $2.privilegeList(), + Target: $4.alterDefaultPrivilegesTargetObject(), + Grantees: $6.nameList(), + Drop: $7.dropBehavior(), + } + } +| REVOKE GRANT OPTION FOR privileges ON alter_default_privileges_target_object FROM name_list opt_drop_behavior + { + $$.val = tree.AbbreviatedRevoke{ + Privileges: $5.privilegeList(), + Target: $7.alterDefaultPrivilegesTargetObject(), + Grantees: $9.nameList(), + Drop: $10.dropBehavior(), + GrantOptionFor: true, + } + } + +alter_default_privileges_target_object: + TABLES + { + $$.val = tree.Tables + } +| SEQUENCES + { + $$.val = tree.Sequences + } +| TYPES + { + $$.val = tree.Types + } +| SCHEMAS + { + $$.val = tree.Schemas + } +| FUNCTIONS error + { + return unimplemented(sqllex, "ALTER DEFAULT PRIVILEGES ... ON FUNCTIONS ...") + } +| ROUTINES error + { + return unimplemented(sqllex, "ALTER DEFAULT PRIVILEGES ... ON FUNCTIONS ...") + } + +opt_for_role: + FOR role_or_group_or_user role_spec + { + tmp := $3.user() + $$.val = &tmp + } +| /* EMPTY */ { + $$.val = (*security.SQLUsername)(nil) +} + +opt_in_schema: + IN SCHEMA qualifiable_schema_name + { + tmp := $3.objectNamePrefix() + $$.val = &tmp + } +| /* EMPTY */ + { + $$.val = (*tree.ObjectNamePrefix)(nil) + } + opt_column: COLUMN {} | /* EMPTY */ {} @@ -12634,6 +12765,7 @@ unreserved_keyword: | FORCE | FORCE_INDEX | FUNCTION +| FUNCTIONS | GENERATED | GEOMETRYM | GEOMETRYZ @@ -12795,6 +12927,7 @@ unreserved_keyword: | ROLES | ROLLBACK | ROLLUP +| ROUTINES | ROWS | RULE | RUNNING diff --git a/pkg/sql/parser/testdata/alter_default_privileges b/pkg/sql/parser/testdata/alter_default_privileges new file mode 100644 index 000000000000..c55f37c53da5 --- /dev/null +++ b/pkg/sql/parser/testdata/alter_default_privileges @@ -0,0 +1,1009 @@ +parse +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO foo +ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT SELECT ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT SELECT ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES GRANT SELECT ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT SELECT ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT SELECT ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT SELECT, UPDATE ON SEQUENCES TO _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES GRANT ALL ON FUNCTIONS TO foo +---- +---- +at or near "to": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES GRANT ALL ON FUNCTIONS TO foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +error +ALTER DEFAULT PRIVILEGES GRANT ALL ON FUNCTIONS TO foo, bar +---- +---- +at or near "to": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES GRANT ALL ON FUNCTIONS TO foo, bar + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO foo +ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO foo +---- +ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO foo +ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO foo -- literals removed +ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES GRANT USAGE, CREATE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TABLES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT ALL ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON TABLES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT SELECT ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT ALL ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT SELECT ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT SELECT, UPDATE ON SEQUENCES TO _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON FUNCTIONS TO foo +---- +---- +at or near "to": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON FUNCTIONS TO foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TYPES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TYPES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TYPES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON TYPES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT ALL ON TYPES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SCHEMAS TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SCHEMAS TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SCHEMAS TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT ALL ON SCHEMAS TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT ALL ON SCHEMAS TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT USAGE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ GRANT USAGE, CREATE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TABLES TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT ALL ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON TABLES TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT SELECT ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT ALL ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT SELECT ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT SELECT, UPDATE ON SEQUENCES TO _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON FUNCTIONS TO foo +---- +---- +at or near "to": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON FUNCTIONS TO foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TYPES TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TYPES TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TYPES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON TYPES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT ALL ON TYPES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SCHEMAS TO foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SCHEMAS TO foo +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SCHEMAS TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT ALL ON SCHEMAS TO foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT ALL ON SCHEMAS TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT USAGE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ GRANT USAGE, CREATE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TABLES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT ALL ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON TABLES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON TABLES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON TABLES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON TABLES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT SELECT ON TABLES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT ALL ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT ON SEQUENCES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT SELECT ON SEQUENCES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT SELECT, UPDATE ON SEQUENCES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT SELECT, UPDATE ON SEQUENCES TO _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON FUNCTIONS TO foo +---- +---- +at or near "to": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON FUNCTIONS TO foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TYPES TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TYPES TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TYPES TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON TYPES TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT ALL ON TYPES TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON TYPES TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT USAGE ON TYPES TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SCHEMAS TO foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SCHEMAS TO foo +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SCHEMAS TO foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT ALL ON SCHEMAS TO foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT ALL ON SCHEMAS TO _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT USAGE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT USAGE, CREATE ON SCHEMAS TO _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo WITH GRANT OPTION +---- +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo WITH GRANT OPTION +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo WITH GRANT OPTION -- fully parenthesized +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO foo WITH GRANT OPTION -- literals removed +ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO _ WITH GRANT OPTION -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar WITH GRANT OPTION +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar WITH GRANT OPTION +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar WITH GRANT OPTION -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s GRANT USAGE, CREATE ON SCHEMAS TO foo, bar WITH GRANT OPTION -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ GRANT USAGE, CREATE ON SCHEMAS TO _, _ WITH GRANT OPTION -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE SELECT ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE SELECT, UPDATE ON SEQUENCES FROM _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES REVOKE ALL ON FUNCTIONS FROM foo +---- +---- +at or near "from": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES REVOKE ALL ON FUNCTIONS FROM foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +error +ALTER DEFAULT PRIVILEGES REVOKE ALL ON FUNCTIONS FROM foo, bar +---- +---- +at or near "from": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES REVOKE ALL ON FUNCTIONS FROM foo, bar + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TYPES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TYPES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TYPES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TYPES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE ALL ON TYPES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE USAGE, CREATE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE ALL ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE SELECT ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE ALL ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE SELECT ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE SELECT, UPDATE ON SEQUENCES FROM _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON FUNCTIONS FROM foo +---- +---- +at or near "from": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON FUNCTIONS FROM foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TYPES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TYPES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TYPES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON TYPES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE ALL ON TYPES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SCHEMAS FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SCHEMAS FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SCHEMAS FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE ALL ON SCHEMAS FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE ALL ON SCHEMAS FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE USAGE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ REVOKE USAGE, CREATE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE ALL ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE SELECT ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE ALL ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE SELECT ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE SELECT, UPDATE ON SEQUENCES FROM _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON FUNCTIONS FROM foo +---- +---- +at or near "from": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON FUNCTIONS FROM foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TYPES FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE ALL ON TYPES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE ALL ON SCHEMAS FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE USAGE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES IN SCHEMA _ REVOKE USAGE, CREATE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE ALL ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE SELECT ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE ALL ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT ON SEQUENCES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE SELECT ON SEQUENCES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE SELECT, UPDATE ON SEQUENCES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE SELECT, UPDATE ON SEQUENCES FROM _, _ -- identifiers removed + +error +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON FUNCTIONS FROM foo +---- +---- +at or near "from": syntax error: unimplemented: this syntax +DETAIL: source SQL: +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON FUNCTIONS FROM foo + ^ +HINT: You have attempted to use a feature that is not yet implemented. + +Please check the public issue tracker to check whether this problem is +already tracked. If you cannot find it there, please report the error +with details by creating a new issue. + +If you would rather not post publicly, please contact us directly +using the support form. + +We appreciate your feedback. +---- +---- + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TYPES FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON TYPES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE ALL ON TYPES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON TYPES FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE USAGE ON TYPES FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE ALL ON SCHEMAS FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE ALL ON SCHEMAS FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE USAGE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE USAGE, CREATE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE USAGE, CREATE ON SCHEMAS FROM _, _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES REVOKE GRANT OPTION FOR ALL ON TABLES FROM foo +---- +ALTER DEFAULT PRIVILEGES REVOKE GRANT OPTION FOR ALL ON TABLES FROM foo -- normalized! +ALTER DEFAULT PRIVILEGES REVOKE GRANT OPTION FOR ALL ON TABLES FROM foo -- fully parenthesized +ALTER DEFAULT PRIVILEGES REVOKE GRANT OPTION FOR ALL ON TABLES FROM foo -- literals removed +ALTER DEFAULT PRIVILEGES REVOKE GRANT OPTION FOR ALL ON TABLES FROM _ -- identifiers removed + +parse +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE GRANT OPTION FOR USAGE, CREATE ON SCHEMAS FROM foo, bar +---- +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE GRANT OPTION FOR USAGE, CREATE ON SCHEMAS FROM foo, bar -- normalized! +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE GRANT OPTION FOR USAGE, CREATE ON SCHEMAS FROM foo, bar -- fully parenthesized +ALTER DEFAULT PRIVILEGES FOR ROLE foo IN SCHEMA s REVOKE GRANT OPTION FOR USAGE, CREATE ON SCHEMAS FROM foo, bar -- literals removed +ALTER DEFAULT PRIVILEGES FOR ROLE _ IN SCHEMA _ REVOKE GRANT OPTION FOR USAGE, CREATE ON SCHEMAS FROM _, _ -- identifiers removed diff --git a/pkg/sql/sem/tree/alter_default_privileges.go b/pkg/sql/sem/tree/alter_default_privileges.go new file mode 100644 index 000000000000..d0be2c7cafde --- /dev/null +++ b/pkg/sql/sem/tree/alter_default_privileges.go @@ -0,0 +1,121 @@ +// Copyright 2021 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package tree + +import ( + "github.com/cockroachdb/cockroach/pkg/security" + "github.com/cockroachdb/cockroach/pkg/sql/privilege" +) + +// AlterDefaultPrivileges represents an ALTER DEFAULT PRIVILEGES statement. +type AlterDefaultPrivileges struct { + Role *security.SQLUsername + // If Schema is not specified, ALTER DEFAULT PRIVILEGES is being + // run on the current database. + Schema *ObjectNamePrefix + + // Only one of Grant or Revoke should be set. IsGrant is used to determine + // which one is set. + IsGrant bool + Grant AbbreviatedGrant + Revoke AbbreviatedRevoke +} + +func (n *AlterDefaultPrivileges) Format(ctx *FmtCtx) { + ctx.WriteString("ALTER DEFAULT PRIVILEGES ") + if n.Role != nil { + ctx.WriteString("FOR ROLE ") + ctx.FormatUsername(*n.Role) + ctx.WriteString(" ") + } + if n.Schema != nil { + ctx.WriteString("IN SCHEMA ") + ctx.FormatNode(n.Schema) + ctx.WriteString(" ") + } + if n.IsGrant { + n.Grant.Format(ctx) + } else { + n.Revoke.Format(ctx) + } +} + +// AlterDefaultPrivilegesTargetObject represents the type of object that is +// having it's default privileges altered. +type AlterDefaultPrivilegesTargetObject int + +const ( + Tables AlterDefaultPrivilegesTargetObject = 1 + Sequences AlterDefaultPrivilegesTargetObject = 2 + Types AlterDefaultPrivilegesTargetObject = 3 + Schemas AlterDefaultPrivilegesTargetObject = 4 +) + +func (a AlterDefaultPrivilegesTargetObject) ToUInt32() uint32 { + return uint32(a) +} + +type AbbreviatedGrant struct { + Privileges privilege.List + Target AlterDefaultPrivilegesTargetObject + Grantees NameList + WithGrantOption bool +} + +func (n *AbbreviatedGrant) Format(ctx *FmtCtx) { + ctx.WriteString("GRANT ") + n.Privileges.Format(&ctx.Buffer) + ctx.WriteString(" ON ") + switch n.Target { + case Tables: + ctx.WriteString("TABLES ") + case Sequences: + ctx.WriteString("SEQUENCES ") + case Types: + ctx.WriteString("TYPES ") + case Schemas: + ctx.WriteString("SCHEMAS ") + } + ctx.WriteString("TO ") + n.Grantees.Format(ctx) + if n.WithGrantOption { + ctx.WriteString(" WITH GRANT OPTION") + } +} + +type AbbreviatedRevoke struct { + Privileges privilege.List + Target AlterDefaultPrivilegesTargetObject + Grantees NameList + GrantOptionFor bool + Drop DropBehavior +} + +func (n *AbbreviatedRevoke) Format(ctx *FmtCtx) { + ctx.WriteString("REVOKE ") + if n.GrantOptionFor { + ctx.WriteString("GRANT OPTION FOR ") + } + n.Privileges.Format(&ctx.Buffer) + ctx.WriteString(" ON ") + switch n.Target { + case Tables: + ctx.WriteString("TABLES ") + case Sequences: + ctx.WriteString("SEQUENCES ") + case Types: + ctx.WriteString("TYPES ") + case Schemas: + ctx.WriteString("SCHEMAS ") + } + ctx.WriteString(" FROM ") + n.Grantees.Format(ctx) +} diff --git a/pkg/sql/sem/tree/stmt.go b/pkg/sql/sem/tree/stmt.go index 2b24f3b92aeb..2eafe2ec1627 100644 --- a/pkg/sql/sem/tree/stmt.go +++ b/pkg/sql/sem/tree/stmt.go @@ -229,6 +229,15 @@ func (*AlterDatabaseSurvivalGoal) StatementTag() string { return "ALTER DATABASE func (*AlterDatabaseSurvivalGoal) hiddenFromShowQueries() {} +// StatementReturnType implements the Statement interface. +func (*AlterDefaultPrivileges) StatementReturnType() StatementReturnType { return DDL } + +// StatementType implements the Statement interface. +func (*AlterDefaultPrivileges) StatementType() StatementType { return TypeDCL } + +// StatementTag returns a short string identifying the type of statement. +func (*AlterDefaultPrivileges) StatementTag() string { return "ALTER DEFAULT PRIVILEGES" } + // StatementReturnType implements the Statement interface. func (*AlterIndex) StatementReturnType() StatementReturnType { return DDL } @@ -1542,6 +1551,7 @@ func (n *AlterDatabaseAddRegion) String() string { return AsString(n) } func (n *AlterDatabaseDropRegion) String() string { return AsString(n) } func (n *AlterDatabaseSurvivalGoal) String() string { return AsString(n) } func (n *AlterDatabasePrimaryRegion) String() string { return AsString(n) } +func (n *AlterDefaultPrivileges) String() string { return AsString(n) } func (n *AlterSchema) String() string { return AsString(n) } func (n *AlterTable) String() string { return AsString(n) } func (n *AlterTableCmds) String() string { return AsString(n) }