Re: Extend compatibility of PostgreSQL::Test::Cluster
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-01-18T23:35:39Z
Lists: pgsql-hackers
Attachments
- cluster-compat-extension-v3.patch (text/x-patch) patch v3
On 12/31/21 11:22, Andrew Dunstan wrote:
> On 12/31/21 11:20, Dagfinn Ilmari Mannsåker wrote:
>> Andrew Dunstan <andrew@dunslane.net> writes:
>>
>>> + my $subclass = __PACKAGE__ . "::V_$maj";
>>> + bless $node, $subclass;
>>> + unless ($node->isa(__PACKAGE__))
>>> + {
>>> + # It's not a subclass, so re-bless back into the main package
>>> + bless($node, __PACKAGE__);
>>> + carp "PostgreSQL::Test::Cluster isn't fully compatible with version $ver";
>>> + }
>> The ->isa() method works on package names as well as blessed objects, so
>> the back-and-forth blessing can be avoided.
>>
>> my $subclass = __PACKAGE__ . "::V_$maj";
>> if ($subclass->isa(__PACKAGE__))
>> {
>> bless($node, $subclass);
>> }
>> else
>> {
>> carp "PostgreSQL::Test::Cluster isn't fully compatible with version $ver";
>> }
>>
> OK, thanks, will fix in next version.
>
>
Here's a version that does that and removes some recent bitrot.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
Commits
-
Make PostgreSQL::Test::Cluster compatible with all live branches
- fb16d2c65884 15.0 landed