Re: Drop all overloads of a function without knowing parameter types - Mailing list pgsql-general

From Alvaro Herrera
Subject Re: Drop all overloads of a function without knowing parameter types
Date
Msg-id 20140204190554.GO10723@eldon.alvh.no-ip.org
Whole thread Raw
In response to Re: Drop all overloads of a function without knowing parameter types  (Sergey Konoplev <gray.ru@gmail.com>)
List pgsql-general
Sergey Konoplev escribió:

> >> I understand the POV of both Evan and you here. However, I think that
> >> there might be a good solution for this particular case - to allow
> >> dropping functions by name only if it has the only signature, but if
> >> there are 2 or more signatures then print an error specifying all the
> >> forms of the function, eg.:
> >>
> >> ERROR: Can not drop function 'foo' because it has more then one
> >> signature: foo(integer), foo(text).

> I was writing about some kind of a compromise.

I wonder if it'd work to have some way to specify wildcards for function
arguments.  For instance, if you say
    DROP FUNCTION foo('*');
all versions with a single argument are dropped;
    DROP FUNCTION foo('*', '*');
drops all versions with two arguments.  If you do
    DROP FUNCTION foo('*+');
then all versions are dropped regardless of number of arguments.

Maybe some kind of keyword instead of the funny-looking operators would
work better --- not proposing that exact syntax, only the general idea.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


pgsql-general by date:

Previous
From: David Johnston
Date:
Subject: Re: Drop all overloads of a function without knowing parameter types
Next
From: Stephen Frost
Date:
Subject: Re: Re: Drop all overloads of a function without knowing parameter types