Re: Backporting BackgroundPsql
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Daniel Gustafsson <daniel@yesql.se>, Melanie Plageman <melanieplageman@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Mikael Kjellström <mikael.kjellstrom@gmail.com>
Date: 2024-06-25T15:59:01Z
Lists: pgsql-hackers
On 2024-06-25 Tu 10:26 AM, Tom Lane wrote: > Andres Freund<andres@anarazel.de> writes: >> On 2024-06-25 13:26:23 +0300, Heikki Linnakangas wrote: >>> 1. Write the new test differently on backbranches. Before 664d757531, the >>> test needs to work a lot harder to use the background psql session, calling >>> pump() etc. That's doable, but as noted in the discussion that led to >>> 664d757531, it's laborious and error-prone. >>> >>> 2. Backport commit 664d757531. This might break out-of-tree perl tests that >>> use the background_psql() function. I don't know if any such tests exist, >>> and they would need to be changed for v17 anyway, so that seems acceptable. >>> Anyone aware of any extensions using the perl test modules? >>> >>> 3. Backport commit 664d757531, but keep the existing background_psql() >>> function unchanged. Add a different constructor to get the v17-style >>> BackgroundPsql session, something like "$node->background_psql_new()". >> Yes, I've wished for this a couple times. I think 2 or 3 would be reasonable. >> I think 1) often just leads to either tests not being written or being >> fragile... > I'd vote for (2). (3) is just leaving a foot-gun for people to > hurt themselves with. > > +1 I'd like to get rid of it in its current form at least. Just about all the uses I'm aware of could be transformed to use the Session object I've been working on, based either on FFI or a small XS wrapper for some of libpq. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com
Commits
-
Fix missing installation/uninstallation rules for BackgroundPsql.pm
- 241ef53b6a95 12.20 landed
- 0d80e59a1b2c 13.16 landed
- 1185be355462 14.13 landed
- 9d7506a2f7cb 15.8 landed
-
Backport BackgroundPsql perl test module
- 4b467a6581af 12.20 landed
- 12f327b210b3 13.16 landed
- 31877cd8ec8c 14.13 landed
- d5fd7865f068 15.8 landed
- 187b8991f70f 16.4 landed
-
Add missing uninstallation rule for BackgroundPsql.pm
- 7039c7cff673 16.0 cited
-
Fix missing installation rules for BackgroundPsql.pm
- a4c17c86176c 16.0 cited
-
Skip \password TAP test on old IPC::Run versions
- 2e57ffe12f6b 16.0 landed
-
Test SCRAM iteration changes with psql \password
- bf5a894c5571 16.0 landed
-
Refactor background psql TAP functions
- 664d757531e1 16.0 landed