Re: Extend compatibility of PostgreSQL::Test::Cluster - Mailing list pgsql-hackers

From Dagfinn Ilmari Mannsåker
Subject Re: Extend compatibility of PostgreSQL::Test::Cluster
Date
Msg-id 87lf00oifg.fsf@wibble.ilmari.org
Whole thread Raw
In response to Re: Extend compatibility of PostgreSQL::Test::Cluster  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Extend compatibility of PostgreSQL::Test::Cluster
List pgsql-hackers
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";
    }

- ilmari



pgsql-hackers by date:

Previous
From: Hans Buschmann
Date:
Subject: AW: Introducing PgVA aka PostgresVectorAcceleration using SIMD vector instructions starting with hex_encode
Next
From: Andrew Dunstan
Date:
Subject: Re: Extend compatibility of PostgreSQL::Test::Cluster