Re: Finer Extension dependencies

Dimitri Fontaine <dimitri@2ndquadrant.fr>

From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: Hitoshi Harada <umi.tanuki@gmail.com>
Cc: Dimitri Fontaine <dimitri@2ndquadrant.fr>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-03-29T08:37:29Z
Lists: pgsql-hackers
Hitoshi Harada <umi.tanuki@gmail.com> writes:
> So my question is why you cannot depend on ip4r in that case.  If some
> version of the module introduces ipv6, then let's depend on that
> version.  It doesn't explain why a string feature name is needed.

The only operator we have to compare version strings in PostgreSQL
extensions is string equality. That's because we don't need more, and
designing a version scheme policy would be far more work that any
benefit I could imagine. And as we didn't enforce version naming policy
in 9.1, it could be argued that it's too late, too.

When you say 'require = ip6r' you are depending on *any* version of the
extension that is providing it, whatever its version string. You don't
have to know that '1.05' < '1.06' < '1.1' and you don't have to know
that the first version with ipv6 support was called '1.06'.

Regards,
-- 
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support