Re: Quick Extensions Question - Mailing list pgsql-hackers

From David E. Wheeler
Subject Re: Quick Extensions Question
Date
Msg-id 084BA9F9-42C1-4D59-B519-096D9195F91B@kineticode.com
Whole thread Raw
In response to Re: Quick Extensions Question  (Dimitri Fontaine <dimitri@2ndQuadrant.fr>)
Responses Re: Quick Extensions Question
List pgsql-hackers
On Mar 3, 2011, at 9:47 AM, Dimitri Fontaine wrote:

> Then, what about a control file property to cover that?
>
>  pl_language = plpgsql
>
> Then when running the script any object attached to the extension that
> is not a 'pg_catalog.pg_language'::regclass is an ERROR.  And only when
> the pl_language property is used then the superuser-only check is
> bypassed.

More simply, I think there are two kinds of dependencies:

* Other extensions
* Core features

Notwithstanding that PLs might be extensions, now or in the future, the necessity to require other stuff from core,
likelibxml support or SSL, together with your example, leads me to think that we ought to think about having two ways
ofspecifying dependencies: requires and core_requires. The latter might look something like: 
   core_requires = plpgsql libxml

The downside of course is that then there would need to be a second infrastructure for tracking core dependencies, and
itwould need to be kept up-to-date. But I think something like this will be essential -- even if it only supports core
PLsfor now. 

Best,

David



pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: Quick Extensions Question
Next
From: "David E. Wheeler"
Date:
Subject: Re: Quick Extensions Question