On Oct 2, 2009, at 7:49 AM, Tom Lane wrote:
But in fact CREATE OR REPLACE is *not* meant to be the same as DROP
followed by CREATE. What it is meant to do is allow you to replace
the
implementation of the function while existing callers see it as still
being the same function. Thus we prevent you from changing the name,
arguments, or result type of the function. If we were to replace the
permissions that would result in a more insidious but still real
reason
why former callers would suddenly stop working. In effect,
permissions
are part of the function's API.
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? Don't those processes have
to reconnect in order to see the new function?
Best,
David
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers