Re: Modifying and solidifying contrib - Mailing list pgsql-hackers

From Richard Huxton
Subject Re: Modifying and solidifying contrib
Date
Msg-id 45BE849A.7070002@archonet.com
Whole thread Raw
In response to Re: Modifying and solidifying contrib  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Modifying and solidifying contrib
List pgsql-hackers
Tom Lane wrote:
> Richard Huxton <dev@archonet.com> writes:
>> 1. Add a new column for all system objects, separate from schema: 
>> "package".
> 
> Wouldn't it be a whole lot easier just to drive it off schema, rather
> than inventing duplicative parallel infrastructure?  That is, say that a
> package has one or more schemas and what it "owns" is whatever is in
> those schemas.  This lets you, for example, use schema permissions to
> manage access to the package.

Four differences:
1. You couldn't have a tsearch package with functions in public. At 
least not without some IMPORT TSEARCH.foo() INTO public
2. You can't easily disable access to a whole package if it's spread 
over multiple schemas.
3. You can't determine what package various objects belong to - is this 
"stopwords" table from tsearch2 or ArchonetSearch17?
4. You can't have one package depending upon another (webstats v2.1 
depends on internet_addr v2.3).

With the current search_path functionality I think it's important the 
package names are separate. I think I'm right in saying there are two 
packaging schemes out there - you either have a single hierarchy 
(Perl/Java) or something parallel (at 90 degrees to?) to an existing 
setup (RPM/deb). I think our search_path means we're dealing with 
something more like a Linux packaging setup.

--   Richard Huxton  Archonet Ltd


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Modifying and solidifying contrib
Next
From: Tom Lane
Date:
Subject: Re: Modifying and solidifying contrib