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, like libxml support or SSL, 
together with your example, leads me to think that we ought to think about 
having two ways of specifying 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 it would need to be kept 
up-to-date. But I think something like this will be essential -- even if it 
only supports core PLs for now.

Best,

David


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to