Re: CREATE OR REPLACE FUNCTION vs ownership - Mailing list pgsql-hackers

From Tom Lane
Subject Re: CREATE OR REPLACE FUNCTION vs ownership
Date
Msg-id 19388.1254498542@sss.pgh.pa.us
Whole thread Raw
In response to Re: CREATE OR REPLACE FUNCTION vs ownership  ("David E. Wheeler" <david@kineticode.com>)
Responses Re: CREATE OR REPLACE FUNCTION vs ownership
List pgsql-hackers
"David E. Wheeler" <david@kineticode.com> writes:
> Okay, this convinces me otherwise. But is it not in fact the case that  
> CREATE OR REPLACE FUNCTION doesn't expire the old version of the  
> function in the cache of other processes?

It is not.

> Don't those processes have  
> to reconnect in order to see the new function?

The ideal is that backends will start using the new function
implementation on the next call after the REPLACE commits (but any
evaluations already in progress must of course continue with the text
they have).  We have been gradually getting closer to that ideal over
the years, although I think there are still cases where it will take a
little longer --- for instance if a SQL function gets inlined I think
the inlined code will persist for the duration of the query's execution.
I don't believe there are still any cases where you actually have to
reconnect to get it to notice the update.

(At least this is true for plpgsql --- not sure if all the other PLs
are equally up to speed.)
        regards, tom lane


pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Issues for named/mixed function notation patch
Next
From: "David E. Wheeler"
Date:
Subject: Re: CREATE OR REPLACE FUNCTION vs ownership