Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qt7Wr-00AvDS-5K for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Oct 2023 14:28:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qt7Wo-004sQc-B0 for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Oct 2023 14:28:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qt7Wo-004sPd-1R for pgsql-hackers@lists.postgresql.org; Wed, 18 Oct 2023 14:28:06 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qt7Wk-001NWg-GS for pgsql-hackers@postgresql.org; Wed, 18 Oct 2023 14:28:06 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 39IERxxX3111324; Wed, 18 Oct 2023 10:27:59 -0400 From: Tom Lane To: Robert Haas cc: Andrew Dunstan , Thomas Munro , pgsql-hackers Subject: Re: Query execution in Perl TAP tests needs work In-reply-to: References: <4f3038c7-2b37-2625-c4c6-ebf7cbcb076d@dunslane.net> <05341dc0-a5c3-f631-35e3-54235cfed774@dunslane.net> Comments: In-reply-to Robert Haas message dated "Wed, 18 Oct 2023 10:03:06 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <3111322.1697639279.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Wed, 18 Oct 2023 10:27:59 -0400 Message-ID: <3111323.1697639279@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Robert Haas writes: > On Sat, Sep 2, 2023 at 2:42=E2=80=AFPM Andrew Dunstan 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. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Package Architecture Version Repository = Size =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D 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