replace function, what happens afterwards?
dear all,
i have a question regarding a recent problem that we faced and we are trying
to identify.
let's suppose we have a function A and a function B that in some point calls
function A.
function A->
…..
insert into table1(col1,col2) values ($1,$2)
…..
function B ->
…
select…
update….
insert….
select..
A();
….
Now function A is changed a bit, i.e we add a new argument in the insert
statement that it has (a constant). However this does not affect neither the
arguments of the function, nor the return type. And then function A is being
recompiled (with 'create or replace').
Afterwards, will function B keep working? Or we need to recomplie function B
as well (even if the code won't change)?
i am just trying to understand what is the default behaviour in this
situation
thank you in advance
--
View this message in context: http://postgresql.1045698.n5.nabble.com/replace-function-what-happens-afterwards-tp5800264.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 16/04/2014 13:54, MirrorX wrote:
dear all,
i have a question regarding a recent problem that we faced and we are
trying to identify. let's suppose we have a function A and a function
B that in some point calls function A.function A-> ….. insert into table1(col1,col2) values ($1,$2) …..
function B -> … select… update…. insert…. select.. A(); ….
Now function A is changed a bit, i.e we add a new argument in the
insert statement that it has (a constant). However this does not
affect neither the arguments of the function, nor the return type.
And then function A is being recompiled (with 'create or replace').Afterwards, will function B keep working? Or we need to recomplie
function B as well (even if the code won't change)?
No, you don't need to re-create function B - it should keep working fine.
As far as I know, functions aren't "compiled", at least at the point
when you execute CREATE FUNCTION anyway - the text representation of the
code is stored, and then loaded when the function is invoked. I could be
wrong about this - others will know better.
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general