Tom Lane wrote:
Bruno Wolff III <bruno@xxxxxxxx> writes:
What happens if there is more than one existing function with that name
already. Do all of the old functions get deleted?
What happens if there are existing references to the function using the
old parameter list?
The current approach is that if you want to change the parameter list or
result type, you have to issue DROP FUNCTION, with the resulting cascade
of any dependent objects. I think trying to change that would be a very
bad idea. It'd create a real mess in terms of consistency of views, and
what does it really buy you notationally over DROP/CREATE?
What I see is that the overloading is a very cool feature, but is not
necessary in most cases, and it introduces unnecessary administration
hassles. If there would be an attribute stating if a procedure has been
created overlodable (enabled by default, for backwards-compabitility),
then CREATE OR REPLACE would always replace the current one, regardless
of the parameters, and DROP would not require any parameters at all, and
a creation of a function with the NOOVERLOAD attribute would not be
allowed if there is already a function marked for overloading.
Cheers,
Ezequiel Tolnay
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
message can get through to the mailing list cleanly