public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: Robert Haas <[email protected]>
Cc: Andrew Dunstan <[email protected]>
Cc: Thomas Munro <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: Query execution in Perl TAP tests needs work
Date: Wed, 18 Oct 2023 10:27:59 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+TgmoYZ9PKmmv3e3kF=p47ikaHNsGshhZf-R79b+vnXhSW0Tw@mail.gmail.com>
References: <CA+hUKGJoEO33K=ZynsH=xkiEyfBMZjOoqBK+gouBdTGW2-woig@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<CA+hUKGKz715tkYFmS12fxqxWG1o9=8y3TTo2uYdGLO=EPm=BUw@mail.gmail.com>
	<[email protected]>
	<CA+TgmoYZ9PKmmv3e3kF=p47ikaHNsGshhZf-R79b+vnXhSW0Tw@mail.gmail.com>

Robert Haas <[email protected]> writes:
> On Sat, Sep 2, 2023 at 2:42 PM Andrew Dunstan <[email protected]> wrote:
>>> How much burden is it? Would anyone actually mind?

> ... At the same time, fallbacks can be a problem too,
> because then you can end up with things that work one way on one
> developer's machine (or BF machine) and another way on another
> developer's machine (or BF machine) and it's not obvious that the
> reason for the difference is that one machine is using a fallback and
> the other is not.

I agree with this worry.

> In terms of what that faster and better thing might be, AFAICS, there
> are two main options. First, we could proceed with the approach you've
> tried here, namely requiring everybody to get Platypus::FFI. I find
> that it's included in MacPorts on my machine, which is at least
> somewhat of a good sign that perhaps this is fairly widely available.

I did a bit of research on this on my favorite platforms, and did
not like the results:

RHEL8: does not seem to be packaged at all.

Fedora 37: available, but the dependencies are a bit much:

$ sudo yum install perl-FFI-Platypus
Last metadata expiration check: 2:07:42 ago on Wed Oct 18 08:05:40 2023.
Dependencies resolved.
================================================================================
 Package                 Architecture Version               Repository     Size
================================================================================
Installing:
 perl-FFI-Platypus       x86_64       2.08-1.fc37           updates       417 k
Installing dependencies:
 libgfortran             x86_64       12.3.1-1.fc37         updates       904 k
 libquadmath             x86_64       12.3.1-1.fc37         updates       206 k
 libquadmath-devel       x86_64       12.3.1-1.fc37         updates        48 k
 perl-FFI-CheckLib       noarch       0.29-2.fc37           updates        29 k
Installing weak dependencies:
 gcc-gfortran            x86_64       12.3.1-1.fc37         updates        12 M

Transaction Summary
================================================================================
Install  6 Packages

Total download size: 14 M
Installed size: 37 M
Is this ok [y/N]: 

gfortran?   Really??  I mean, I don't care about the disk space,
but this is not promising for anyone who has to build it themselves.

So I'm afraid that requiring Platypus::FFI might be a bridge too
far for a lot of our older buildfarm machines.

> Another thing, also already mentioned, that we can do is cache psql
> connections instead of continuously respawing psql.

This seems like it's worth thinking about.  I agree with requiring
the re-use to be explicit within a TAP test, else we might have
mysterious behavioral changes (akin to connection-pooler-induced
bugs).

			regards, tom lane






view thread (5+ messages)  latest in thread

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Query execution in Perl TAP tests needs work
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox