summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2025-02-28 20:20:22 +0000
committerTom Lane2025-02-28 20:20:24 +0000
commit8b49392b270b4ac0b9f5c210e2a503546841e832 (patch)
treef52dae4854c33ceaf06723e699f515a6620d6c34
parent7717f63006935de00fafd000bff450280508adf1 (diff)
Tweak regex to avoid a bug in Perl 5.16.3.
For some reason, 5.16.3 (and perhaps slightly earlier/later versions) go into an infinite loop with the version-replacement regex installed by commit fc0d0ce97. We can work around that by using an explicit "\n" instead of the line-start metacharacter "^". Reported-by: Sami Imseih <[email protected]> Discussion: https://postgr.es/m/CAA5RZ0u9dV3CdKqkqdusA_RdvBkwWe0c0rxcFWj++VYoutFYSw@mail.gmail.com
-rw-r--r--src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm b/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
index ec874852d12..81a8f44aa9f 100644
--- a/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
+++ b/src/test/perl/PostgreSQL/Test/AdjustUpgrade.pm
@@ -296,7 +296,7 @@ sub adjust_old_dumpfile
# Same with version argument to pg_restore_relation_stats() or
# pg_restore_attribute_stats().
- $dump =~ s {(^\s+'version',) '\d+'::integer,$}
+ $dump =~ s {\n(\s+'version',) '\d+'::integer,$}
{$1 '000000'::integer,}mg;
if ($old_version < 16)
@@ -645,7 +645,7 @@ sub adjust_new_dumpfile
# Same with version argument to pg_restore_relation_stats() or
# pg_restore_attribute_stats().
- $dump =~ s {(^\s+'version',) '\d+'::integer,$}
+ $dump =~ s {\n(\s+'version',) '\d+'::integer,$}
{$1 '000000'::integer,}mg;
# pre-v16 dumps do not know about XMLSERIALIZE(NO INDENT).