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

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

  1. Make PostgreSQL::Test::Cluster compatible with all live branches