Remove literal backslash from Perl \Q ... \E.
authorNoah Misch <noah@leadboat.com>
Tue, 29 Jun 2021 07:44:57 +0000 (00:44 -0700)
committerNoah Misch <noah@leadboat.com>
Tue, 29 Jun 2021 07:44:57 +0000 (00:44 -0700)
The behavior changed sometime after Perl 5.8.9, and "man perlre" says it
"may lead to confusing results."  Per buildfarm member gaur.  This
repairs commit a7a7be1f2fa6b9f0f48e69f12256d8f588af729b.

Discussion: https://postgr.es/m/20210629053627.GA2061079@rfd.leadboat.com

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

index ac5d38ff4c4b996b0bf2d676bffbd2275a24fdc1..448b1be26ce6771a0a9158d9859a87198acf3a34 100644 (file)
@@ -1431,7 +1431,7 @@ my %tests = (
    'CREATE ROLE regress_quoted...' => {
        create_order => 1,
        create_sql   => 'CREATE ROLE "regress_quoted  \"" role";',
-       regexp       => qr/^\QCREATE ROLE "regress_quoted  \"" role";\E/m,
+       regexp       => qr/^CREATE ROLE "regress_quoted  \\"" role";/m,
        like         => {
            pg_dumpall_dbprivs       => 1,
            pg_dumpall_exclude       => 1,
@@ -3421,7 +3421,7 @@ my %tests = (
            ALTER SCHEMA public OWNER TO "regress_quoted  \"" role";
            REVOKE ALL ON SCHEMA public FROM "regress_quoted  \"" role";',
        regexp => qr/^
-           \QREVOKE ALL ON SCHEMA public FROM "regress_quoted  \"" role";\E
+           \QREVOKE ALL ON SCHEMA public FROM "regress_quoted  \E\\""\ role";
            \n\QREVOKE ALL ON SCHEMA public FROM PUBLIC;\E
            \n\QGRANT USAGE ON SCHEMA public TO PUBLIC;\E
            /xm,