Fix one more portability shortcoming in new test_pg_dump test.

If the bootstrap superuser's name requires quoting, regroleout
will supply double quotes ... but the result of CURRENT_USER
is just the literal name.  Apply quote_ident() to ensure a match.

Per Andrew Dunstan's off-list investigation of buildfarm member
prion's failures.
This commit is contained in:
Tom Lane 2024-04-30 10:45:14 -04:00
parent f6ab942f5d
commit d12b4ba1bd
2 changed files with 8 additions and 8 deletions

View File

@ -64,9 +64,9 @@ GRANT USAGE ON SCHEMA test_pg_dump_s1 TO regress_dump_test_role;
GRANT USAGE ON TYPE test_pg_dump_e1 TO regress_dump_test_role;
-- Substitute for current user's name to keep test output consistent
SELECT s.obj,
CASE WHEN a.grantor::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantor::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantor::regrole::name END,
CASE WHEN a.grantee::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantee::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantee::regrole::name END,
a.privilege_type, a.is_grantable
FROM
@ -201,9 +201,9 @@ ALTER EXTENSION test_pg_dump DROP VIEW test_pg_dump_v1;
DROP OWNED BY regress_dump_test_role RESTRICT;
-- Substitute for current user's name to keep test output consistent
SELECT s.obj,
CASE WHEN a.grantor::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantor::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantor::regrole::name END,
CASE WHEN a.grantee::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantee::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantee::regrole::name END,
a.privilege_type, a.is_grantable
FROM

View File

@ -77,9 +77,9 @@ GRANT USAGE ON TYPE test_pg_dump_e1 TO regress_dump_test_role;
-- Substitute for current user's name to keep test output consistent
SELECT s.obj,
CASE WHEN a.grantor::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantor::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantor::regrole::name END,
CASE WHEN a.grantee::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantee::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantee::regrole::name END,
a.privilege_type, a.is_grantable
FROM
@ -129,9 +129,9 @@ DROP OWNED BY regress_dump_test_role RESTRICT;
-- Substitute for current user's name to keep test output consistent
SELECT s.obj,
CASE WHEN a.grantor::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantor::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantor::regrole::name END,
CASE WHEN a.grantee::regrole::name = current_user THEN 'postgres'
CASE WHEN a.grantee::regrole::name = quote_ident(current_user) THEN 'postgres'
ELSE a.grantee::regrole::name END,
a.privilege_type, a.is_grantable
FROM