mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Remove rolcatupdate
This role attribute is an ancient PostgreSQL feature, but could only be set by directly updating the system catalogs, and it doesn't have any clearly defined use. Author: Adam Brightwell <adam.brightwell@crunchydatasolutions.com>
This commit is contained in:
@ -368,8 +368,6 @@ CreateRole(CreateRoleStmt *stmt)
|
||||
new_record[Anum_pg_authid_rolinherit - 1] = BoolGetDatum(inherit);
|
||||
new_record[Anum_pg_authid_rolcreaterole - 1] = BoolGetDatum(createrole);
|
||||
new_record[Anum_pg_authid_rolcreatedb - 1] = BoolGetDatum(createdb);
|
||||
/* superuser gets catupdate right by default */
|
||||
new_record[Anum_pg_authid_rolcatupdate - 1] = BoolGetDatum(issuper);
|
||||
new_record[Anum_pg_authid_rolcanlogin - 1] = BoolGetDatum(canlogin);
|
||||
new_record[Anum_pg_authid_rolreplication - 1] = BoolGetDatum(isreplication);
|
||||
new_record[Anum_pg_authid_rolconnlimit - 1] = Int32GetDatum(connlimit);
|
||||
@ -734,20 +732,12 @@ AlterRole(AlterRoleStmt *stmt)
|
||||
MemSet(new_record_repl, false, sizeof(new_record_repl));
|
||||
|
||||
/*
|
||||
* issuper/createrole/catupdate/etc
|
||||
*
|
||||
* XXX It's rather unclear how to handle catupdate. It's probably best to
|
||||
* keep it equal to the superuser status, otherwise you could end up with
|
||||
* a situation where no existing superuser can alter the catalogs,
|
||||
* including pg_authid!
|
||||
* issuper/createrole/etc
|
||||
*/
|
||||
if (issuper >= 0)
|
||||
{
|
||||
new_record[Anum_pg_authid_rolsuper - 1] = BoolGetDatum(issuper > 0);
|
||||
new_record_repl[Anum_pg_authid_rolsuper - 1] = true;
|
||||
|
||||
new_record[Anum_pg_authid_rolcatupdate - 1] = BoolGetDatum(issuper > 0);
|
||||
new_record_repl[Anum_pg_authid_rolcatupdate - 1] = true;
|
||||
}
|
||||
|
||||
if (inherit >= 0)
|
||||
|
Reference in New Issue
Block a user