From: Jeff Davis <pgsql@j-davis.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jeff Davis <jdavis@postgresql.org>
Cc: pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Catalog changes preparing for builtin collation provider.
Date: Mon, 11 Mar 2024 12:26:55 -0700
Message-ID: <0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com> (raw)
In-Reply-To: <1222780.1710047108@sss.pgh.pa.us>
References: <E1rj5WA-002z5V-WA@gemulon.postgresql.org>
<8899c7c62b86370076110920686fd24863b69a01.camel@j-davis.com>
<1222780.1710047108@sss.pgh.pa.us>
On Sun, 2024-03-10 at 00:05 -0500, Tom Lane wrote:
> Yeah. It looks to me like it's somehow Perl-version-related.
I found it. On perl 5.16.3 on a failing instance:
use strict;
die '"" does not match qr// before substitution' unless '' =~ qr//;
my $foo = ('|a|' =~ s/a//r);
die '"" does not match qr// after substitution' unless '' =~ qr//;
print "$foo\n";
dies with:
"" does not match qr// after substitution at - line 4.
My commit adds a line using the s/// operator.
That's so bizarre that I have to guess that it's a perl bug. I poked
around in the perl docs to see if I'm missing something, but I didn't
find anything indicating that a substitution would have crazy side
effects. Please correct me if I'm wrong; I'm far from a perl expert.
Assuming that it is a perl bug, there are two potential workarounds:
1. Use qr/^$/ for the test rather than qr//.
2. Don't use s/// anywhere. Find another way to transform devel
versions into numbers.
Either one has the potential to leave traps for later. New tests might
either rely on s/// or expect qr// to work. I am inclined toward #1,
because if we use qr/^$/, other tests are likely to copy it and they
will be safe as well.
Though I'm still not sure what's going on with longfin.
Thoughts?
Regards,
Jeff Davis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: pgsql@j-davis.com, tgl@sss.pgh.pa.us, jdavis@postgresql.org, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Catalog changes preparing for builtin collation provider.
In-Reply-To: <0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox