Re: pgsql: Trial fix for old cross-version upgrades.

2025-03-02 Thread Sami Imseih
> After a bit of fooling around I found that using an explicit \n > instead of ^ fixes it. Not the world's most idiomatic regex, > but it'll do. Will push the attached shortly. I can also confirm this works as expected, although I feel my suggested expression [0] is easier to understand, but I h

Re: pgsql: Trial fix for old cross-version upgrades.

2025-02-28 Thread Sami Imseih
> > > > Just noting here that \s{1} is simply the same as /s Correct. But I do like the explicitness of it though. — Sami >

Re: pgsql: Trial fix for old cross-version upgrades.

2025-02-28 Thread Sami Imseih
I was running "make check-world" this morning on a machine that has an old version of perl, 5.16, and the check-world was hung on /usr/bin/perl t/002_pg_upgrade.pl. I never saw "make check-world" hang on this old version of perl, but I bisected the regression to this commit fc0d0ce978752493, the s

Re: pgsql: Trial fix for old cross-version upgrades.

2025-02-28 Thread Sami Imseih
My perl expertise is bit shallow, but I could not find much regarding bugs related to such behavior, or maybe I did not look enough. Playing around with this, "s+", "s{1,}", s{2,}" all of these combinations where we are searching for more than 1 space result in the hanging command, but we really o

Re: pgsql: Trial fix for old cross-version upgrades.

2025-02-28 Thread Sami Imseih
> I also tested the same regexp expression in isolation > and I could not repro the issue. Will try a real dumpfile next. > repro'd. I don't want to attach the file here, but I added a cp to get the dump file somewhere local +++ b/src/bin/pg_upgrade/t/002_pg_upgrade.pl @@ -326,10 +326,12 @@ $oldn

Re: pgsql: Trial fix for old cross-version upgrades.

2025-02-28 Thread Sami Imseih
> 5.16 is still supported according to our install instructions, > so let's see if we can adjust that regex so it works with 5.16. > The first thing I'd try is > > - $dump =~ s {(^\s+'version',) '\d+'::integer,$} > + $dump =~ s {^(\s+'version',) '\d+'::integer,$} > With the diff below,