add parameter to existing function

Started by Peter Kroonover 12 years ago2 messagesgeneral
Jump to latest
#1Peter Kroon
plakroon@gmail.com

Hi,

I can use: create or replace function etc....
to alter a function.

However, this will create a new function instead of replacing the old one
when adding a parameter.
Is this possible without the use of DROP and CASCADE?

The function that I'm trying to alter is on some tables a default value.

Best,
Peter

#2Merlin Moncure
mmoncure@gmail.com
In reply to: Peter Kroon (#1)
Re: add parameter to existing function

On Tue, Dec 10, 2013 at 8:26 AM, Peter Kroon <plakroon@gmail.com> wrote:

Hi,

I can use: create or replace function etc....
to alter a function.

However, this will create a new function instead of replacing the old one
when adding a parameter.
Is this possible without the use of DROP and CASCADE?

nope! Changing input or output arguments what identifies a function
basically as in any overloaded language. Imagine if you had inlined
that function call into a view. How would that view be adjusted?

The way to deal with this, as in many things with postgres or database
in general, is to get *out* of the habit of using UI tools to manage
schema structures and get in the habit of maintaining proper schema
scripts, particularly for views in functions. This makes DROP a non
issue: after CASCADE eats your various views or whatever, you then
just have to reapply your view containing script.

merlin

merlin

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general