pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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






view thread (12+ messages)  latest in thread

Message-ID: <0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com>
Permalink:  ../0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com/
Also on:    postgresql.org/message-id/0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com

 · 

reply

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