Re: [INTERFACES] The persistance of C functions - Mailing list pgsql-hackers

From Karel Zak - Zakkr
Subject Re: [INTERFACES] The persistance of C functions
Date
Msg-id Pine.LNX.3.96.1000211112520.23828B-100000@ara.zf.jcu.cz
Whole thread Raw
List pgsql-hackers
On Thu, 10 Feb 2000, Ross J. Reedstrom wrote:

> On Thu, Feb 10, 2000 at 10:42:29AM +0100, Karel Zak - Zakkr wrote:
> > 
> > On Wed, 9 Feb 2000, Bryan White wrote:
> > 
> > > If I use CREATE FUNCTION for a C function in a .so file and then use the
> > > function and then change and recompile the function, what steps are needed
> > > to see the change?
> > > 
> > > As I see it the options are:
> > > A: do nothing, the function is reloaded on every invocation.
> > > B: Reopen the connection to the backend
> > > C: Restart the postmaster
> > > 
> > > I suspect B is correct but I would like to hear someone confirm it.
> > 
> >  'B' is right - the postgreSQL not has any persisten cache for this, and 
> > if you restart connection a backend reload this information again.
> > 
> > Or you can drop/(re)create a function, it is total safe solution.
>
> Not _totally_ safe: if you've got anything that refers to that function,
> like a user defined type definition, drop/(re)create will change the
> function's oid in the pg_proc table, causing errors when the old
> function is looked up. Hmm, an ALTER FUNCTION command might be nice...

... and/or check dependencies on the function's oid if the function is DROP, 
(via FOREIGN KEYs ?). IMHO it is good item to TODO if really nothing check
it.  (...resending to hackers)
                        Karel




pgsql-hackers by date:

Previous
From: "ventura"
Date:
Subject: Visit www.ventura.vu
Next
From: Mike Mascari
Date:
Subject: Re: [HACKERS] Re: [INTERFACES] The persistance of C functions