Re: Crash in pgCrypto? - Mailing list pgsql-hackers

From David Fetter
Subject Re: Crash in pgCrypto?
Date
Msg-id 20080617143141.GC11140@fetter.org
Whole thread Raw
In response to Re: Crash in pgCrypto?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Crash in pgCrypto?  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Crash in pgCrypto?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Mon, Jun 16, 2008 at 09:43:37PM -0400, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > David Fetter wrote:
> >> Maybe I'm missing something big, but I don't quite see what
> >> constitutes "proper" that doesn't involve the module's having at
> >> least one schema to itself.
> 
> > ISTM that "uninstall foomodule" will be a whole lot nicer.
> 
> Right.  We have all the mechanism we need in the form of the
> dependency stuff: you just make everything in the module auto-depend
> on the module object.  People who want to put their modules into
> private schemas can do it, but they won't be forced to.

It's not quite that simple.  Let's say you're *developing* a module.
I don't see any way to play with it in the separate module proposal,
where I *do* see a whole extra non-orthogonal feature where none is
needed.  No way to do optional submodules, either, and I'm sure there
are plenty of other nasty limitations.

Here's how what I'm proposing would work:

1.  Create a way for schemas themselves to depend on other schemas,
*not* on the stuff inside.  This would make dependency an extremely
simple problem, which is to say that DROP SCHEMA my_app CASCADE would
cause anything depending on it, all the way down to the leaves in the
DAG, to get dropped.  Without CASCADE, it would Do The Right
Thing™, i.e. throw an error.

2.  Create a way to readjust search_paths per-db and per-role, as
previously proposed.

3.  Create wrappers like (UN)INSTALL MODULE using the two tools above.
No, they would not necessarily appear in pg_dump.

Tom, please don't paint us into a corner.

Cheers,
David.
-- 
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: sh -> pl
Next
From: Alvaro Herrera
Date:
Subject: Re: Crash in pgCrypto?