From d12b4ba1bd3eedd862064cf1dad5ff107c5cba90 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 30 Apr 2024 10:45:14 -0400 Subject: [PATCH] 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. --- src/test/modules/test_pg_dump/expected/test_pg_dump.out | 8 ++++---- src/test/modules/test_pg_dump/sql/test_pg_dump.sql | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/test/modules/test_pg_dump/expected/test_pg_dump.out b/src/test/modules/test_pg_dump/expected/test_pg_dump.out index e8121f6bfd0..bda1c6b3c2a 100644 --- a/src/test/modules/test_pg_dump/expected/test_pg_dump.out +++ b/src/test/modules/test_pg_dump/expected/test_pg_dump.out @@ -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 diff --git a/src/test/modules/test_pg_dump/sql/test_pg_dump.sql b/src/test/modules/test_pg_dump/sql/test_pg_dump.sql index 4598531ce7f..a56a945104d 100644 --- a/src/test/modules/test_pg_dump/sql/test_pg_dump.sql +++ b/src/test/modules/test_pg_dump/sql/test_pg_dump.sql @@ -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