Fix brain fade in e530be2c5ce77475d56ccf8f4e0c4872b666ad5f.

The BoolGetDatum() call ended up in the wrong place. It should be
applied when we, err, want to convert a bool to a datum.

Thanks to Tom Lane for noticing this.

Discussion: http://postgr.es/m/2511599.1658861964@sss.pgh.pa.us
This commit is contained in:
Robert Haas 2022-07-26 15:10:25 -04:00
parent d8cd0c6c95
commit 8bb3ad462f

View File

@ -693,14 +693,14 @@ AlterRole(ParseState *pstate, AlterRoleStmt *stmt)
*/ */
if (dissuper) if (dissuper)
{ {
bool should_be_super = BoolGetDatum(boolVal(dissuper->arg)); bool should_be_super = boolVal(dissuper->arg);
if (!should_be_super && roleid == BOOTSTRAP_SUPERUSERID) if (!should_be_super && roleid == BOOTSTRAP_SUPERUSERID)
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("permission denied: bootstrap user must be superuser"))); errmsg("permission denied: bootstrap user must be superuser")));
new_record[Anum_pg_authid_rolsuper - 1] = should_be_super; new_record[Anum_pg_authid_rolsuper - 1] = BoolGetDatum(should_be_super);
new_record_repl[Anum_pg_authid_rolsuper - 1] = true; new_record_repl[Anum_pg_authid_rolsuper - 1] = true;
} }