!640 修复createa schema + grant all失败的问题
Merge pull request !640 from TotaJ/bugfix/schema2
This commit is contained in:
@ -4299,7 +4299,8 @@ List* transformCreateSchemaStmt(CreateSchemaStmt* stmt)
|
||||
cxt.triggers = lappend(cxt.triggers, element);
|
||||
} break;
|
||||
|
||||
case T_GrantStmt:
|
||||
case T_GrantStmt: /* GRANT XXX ON XXX TO XXX */
|
||||
case T_AlterRoleStmt: /* GRANT ALL PRIVILEGES TO XXX */
|
||||
cxt.grants = lappend(cxt.grants, element);
|
||||
break;
|
||||
|
||||
|
@ -26,6 +26,22 @@ create user pg_error_username password 'test-1234';
|
||||
ERROR: unacceptable user name: fail to create same name schema for user "pg_error_username"
|
||||
DETAIL: The prefix "pg_" is reserved for system schemas.
|
||||
drop role samedb_schema_cn_role_02_001;
|
||||
create user grant_user_test password 'test-1234';
|
||||
select rolsystemadmin from pg_roles where rolname='grant_user_test';
|
||||
rolsystemadmin
|
||||
----------------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
create schema schema_with_grant_test grant all privileges to grant_user_test;
|
||||
select rolsystemadmin from pg_roles where rolname='grant_user_test';
|
||||
rolsystemadmin
|
||||
----------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
drop user grant_user_test;
|
||||
drop schema schema_with_grant_test;
|
||||
drop schema test_ns_schema_1 cascade;
|
||||
NOTICE: drop cascades to 2 other objects
|
||||
DETAIL: drop cascades to table test_ns_schema_1.abc
|
||||
|
@ -31,4 +31,13 @@ create user pg_error_username password 'test-1234';
|
||||
|
||||
drop role samedb_schema_cn_role_02_001;
|
||||
|
||||
create user grant_user_test password 'test-1234';
|
||||
select rolsystemadmin from pg_roles where rolname='grant_user_test';
|
||||
|
||||
create schema schema_with_grant_test grant all privileges to grant_user_test;
|
||||
select rolsystemadmin from pg_roles where rolname='grant_user_test';
|
||||
|
||||
drop user grant_user_test;
|
||||
drop schema schema_with_grant_test;
|
||||
|
||||
drop schema test_ns_schema_1 cascade;
|
||||
|
Reference in New Issue
Block a user