I found
but there are no answers and isn't exactly the same as my question (though very similar).
Let's say I do the following:
- Create a function
myfunc() - Start a transaction from client A
- Start a transaction from client B
- In transaction B, use "create or replace function" to revise the definition of
myfunc() - Commit transaction B
- Call
myfunc()from transaction A
What happens in step 6? Am I calling the original function as defined in step 1? Or the modified form from step 4 (committed in step 5)?
And if the function is dropped in step 4 rather than being modified, will step 6 fail or succeed? (This is probably the same question but modifications may work differently.)
Where is the documentation about this?