Re: [HACKERS] [GENERAL] Dropping extensions

2011-07-30 Thread Dimitri Fontaine
Tom Lane t...@sss.pgh.pa.us writes:
 Hmm.  I don't think we have any code in there to prohibit the same
 object from being made a member of two different extensions ... but this
 example suggests that maybe we had better check that.

I see you did take care of that, thank you!

  
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=988620dd8c16d77f88ede167b22056176324

Regards,
-- 
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support

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


Re: [HACKERS] [GENERAL] Dropping extensions

2011-07-23 Thread Tom Lane
Marc Munro m...@bloodnok.com writes:
 In postgres 9.1 I have created 2 extensions, veil and veil_demo.  When I
 install veil, it creates a default (not very useful) version of a
 function: veil_init().

 When I create veil_demo, it replaces this version of the function with
 it's own (useful) version.

 If I drop the extension veil_demo, I am left with the veil_demo version
 of veil_init().

 Is this a feature or a bug?  Is there a work-around?

Hmm.  I don't think we have any code in there to prohibit the same
object from being made a member of two different extensions ... but this
example suggests that maybe we had better check that.

In general, though, it is not intended that extension creation scripts
use CREATE OR REPLACE, which I gather you must be doing.

regards, tom lane

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


Re: [HACKERS] [GENERAL] Dropping extensions

2011-07-23 Thread Marc Munro
On Sat, 2011-07-23 at 11:08 -0400, Tom Lane wrote:
  If I drop the extension veil_demo, I am left with the veil_demo version
  of veil_init().
 
  Is this a feature or a bug?  Is there a work-around?
 
 Hmm.  I don't think we have any code in there to prohibit the same
 object from being made a member of two different extensions ... but this
 example suggests that maybe we had better check that.
 
 In general, though, it is not intended that extension creation scripts
 use CREATE OR REPLACE, which I gather you must be doing.

That's right.  Ultimately I'd like to be able to create a number of
extensions, all further extending the base functionality of veil, with
each one further extending veil_init().  I could consider a more
generalised callback mechanism but that adds more complexity and
overhead without really buying me anything functionally.  I will look
into it though.

While it would be great to be able to return functions to their previous
definition automatically, other simpler mechanisms might suffice.  For
me, being able to run a post-drop script would probably be adequate.
For now, I will just add some notes to the documentation.

Thanks for the response.

__
Marc



signature.asc
Description: This is a digitally signed message part