Remove extra space from dumped ALTER DEFAULT PRIVILEGES.
authorJeff Davis <jdavis@postgresql.org>
Mon, 12 Dec 2022 17:25:50 +0000 (09:25 -0800)
committerJeff Davis <jdavis@postgresql.org>
Mon, 12 Dec 2022 17:49:24 +0000 (09:49 -0800)
Author: Nathan Bossart
Discussion: https://postgr.es/m/20221206232744.GA3560301@nathanxps13

src/bin/pg_dump/dumputils.c
src/bin/pg_dump/t/002_pg_dump.pl

index c0985fae5ad6dfff3ed1fa4243cc77581234431d..0e20c66bee537b7a984503e0550904727d0ca935 100644 (file)
@@ -184,7 +184,9 @@ buildACLCommands(const char *name, const char *subname, const char *nspname,
                              prefix, privs->data, type);
            if (nspname && *nspname)
                appendPQExpBuffer(firstsql, "%s.", fmtId(nspname));
-           appendPQExpBuffer(firstsql, "%s FROM ", name);
+           if (name && *name)
+               appendPQExpBuffer(firstsql, "%s ", name);
+           appendPQExpBufferStr(firstsql, "FROM ");
            if (grantee->len == 0)
                appendPQExpBufferStr(firstsql, "PUBLIC;\n");
            else
@@ -253,7 +255,9 @@ buildACLCommands(const char *name, const char *subname, const char *nspname,
                                      prefix, privs->data, type);
                    if (nspname && *nspname)
                        appendPQExpBuffer(thissql, "%s.", fmtId(nspname));
-                   appendPQExpBuffer(thissql, "%s TO ", name);
+                   if (name && *name)
+                       appendPQExpBuffer(thissql, "%s ", name);
+                   appendPQExpBufferStr(thissql, "TO ");
                    if (grantee->len == 0)
                        appendPQExpBufferStr(thissql, "PUBLIC;\n");
                    else
@@ -265,7 +269,9 @@ buildACLCommands(const char *name, const char *subname, const char *nspname,
                                      prefix, privswgo->data, type);
                    if (nspname && *nspname)
                        appendPQExpBuffer(thissql, "%s.", fmtId(nspname));
-                   appendPQExpBuffer(thissql, "%s TO ", name);
+                   if (name && *name)
+                       appendPQExpBuffer(thissql, "%s ", name);
+                   appendPQExpBufferStr(thissql, "TO ");
                    if (grantee->len == 0)
                        appendPQExpBufferStr(thissql, "PUBLIC");
                    else
index 6656222363e914e3adc9b9d83fd864e471d3c81d..4732ee2e4a88eb90729ab7b5837848490adedd44 100644 (file)
@@ -563,7 +563,7 @@ my %tests = (
        regexp => qr/^
            \QALTER DEFAULT PRIVILEGES \E
            \QFOR ROLE regress_dump_test_role IN SCHEMA dump_test \E
-           \QGRANT SELECT ON TABLES  TO regress_dump_test_role;\E
+           \QGRANT SELECT ON TABLES TO regress_dump_test_role;\E
            /xm,
        like =>
          { %full_runs, %dump_test_schema_runs, section_post_data => 1, },
@@ -582,7 +582,7 @@ my %tests = (
        regexp => qr/^
            \QALTER DEFAULT PRIVILEGES \E
            \QFOR ROLE regress_dump_test_role IN SCHEMA dump_test \E
-           \QGRANT ALL ON FUNCTIONS  TO regress_dump_test_role;\E
+           \QGRANT ALL ON FUNCTIONS TO regress_dump_test_role;\E
            /xm,
        like =>
          { %full_runs, %dump_test_schema_runs, section_post_data => 1, },
@@ -600,7 +600,7 @@ my %tests = (
        regexp => qr/^
            \QALTER DEFAULT PRIVILEGES \E
            \QFOR ROLE regress_dump_test_role \E
-           \QREVOKE ALL ON FUNCTIONS  FROM PUBLIC;\E
+           \QREVOKE ALL ON FUNCTIONS FROM PUBLIC;\E
            /xm,
        like => { %full_runs, section_post_data => 1, },
        unlike => { no_privs => 1, },
@@ -615,10 +615,10 @@ my %tests = (
        regexp => qr/^
            \QALTER DEFAULT PRIVILEGES \E
            \QFOR ROLE regress_dump_test_role \E
-           \QREVOKE ALL ON TABLES  FROM regress_dump_test_role;\E\n
+           \QREVOKE ALL ON TABLES FROM regress_dump_test_role;\E\n
            \QALTER DEFAULT PRIVILEGES \E
            \QFOR ROLE regress_dump_test_role \E
-           \QGRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,VACUUM,ANALYZE,UPDATE ON TABLES  TO regress_dump_test_role;\E
+           \QGRANT INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,VACUUM,ANALYZE,UPDATE ON TABLES TO regress_dump_test_role;\E
            /xm,
        like => { %full_runs, section_post_data => 1, },
        unlike => { no_privs => 1, },