Re: Extensions Dependency Checking

From: Aidan Van Dyk <aidan(at)highrise(dot)ca>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David E(dot) Wheeler" <david(at)kineticode(dot)com>, "pgsql-hackers(at)postgresql(dot)org Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Extensions Dependency Checking
Date: 2011-04-04 22:23:20
Message-ID: BANLkTimkTsWofbUnbpzxoL+tKzB7TGBTJQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Apr 4, 2011 at 6:06 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

>> I don't.  We deliberately decided *not* to have any wired-in
>> interpretation of extension numbers, and I don't think that decision
>> needs to be reversed.  David can choose to enforce something for stuff
>> distributed through PGXN if he wishes, but that's no concern of the core
>> server's.  In particular I'm really skeptical of the theory that we need
>> or should want version restrictions in Requires references.  The
>> equivalent feature in RPM is deprecated for Fedora/RedHat packaging use,
>> and I see no reason why we'd need it more than they do.
>
> Oh, really?  How can you possibly get by without it?  Dependencies of
> this type are all over the place.

I think the general movement is toward *feature* dependancies. So for
intstance, an extension can specify what *feature* it requires, and
difference "versions" of an extension can provide different
"features".

In that case, you don't really need extenson "foo" > 2.1, you need the
feature that foo 2.1.x provides, maybe "foo-api-2" (note that 2 would
be part of a "name", not any comparison aware version.

I'm already going to be "naming" my extensions with "major versions"
as part of the name (like all the distro postgresql packages) so my
versions will only ever be simple integers of exactly compatable
objects.

But checking http://developer.postgresql.org/pgdocs/postgres/extend-extensions.html,
I don't see any "provides" mechanism. That might be something
actually needed if we are trying to avoid "version" comparisons and
want to be describing actual dependencies...

--
Aidan Van Dyk                                             Create like a god,
aidan(at)highrise(dot)ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2011-04-04 22:24:15 pgsql: Avoid assuming there will be only 3 states for synchronous_commi
Previous Message David E. Wheeler 2011-04-04 22:12:59 Re: Extensions Dependency Checking