On Mon, Apr 4, 2011 at 6:06 PM, Robert Haas <robertmhaas@gmail.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@highrise.ca command like a king,
http://www.highrise.ca/ work like a slave.