Re: pgsql: Improve error reporting for DROP FUNCTION/PROCEDURE/AGGREGATE/RO

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Improve error reporting for DROP FUNCTION/PROCEDURE/AGGREGATE/RO
Date: 2019-03-23 02:33:33
Message-ID: 20190323023333.tpovylk54modtlss@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Hi,

On 2019-03-21 15:52:23 +0000, Tom Lane wrote:
> Improve error reporting for DROP FUNCTION/PROCEDURE/AGGREGATE/ROUTINE.
>
> These commands allow the argument type list to be omitted if there is
> just one object that matches by name. However, if that syntax was
> used with DROP IF EXISTS and there was more than one match, you got
> a "function ... does not exist, skipping" notice message rather than a
> truthful complaint about the ambiguity. This was basically due to
> poor factorization and a rats-nest of logic, so refactor the relevant
> lookup code to make it cleaner.
>
> Note that this amounts to narrowing the scope of which sorts of
> error conditions IF EXISTS will bypass. Per discussion, we only
> intend it to skip no-such-object cases, not multiple-possible-matches
> cases.
>
> Per bug #15572 from Ash Marath. Although this definitely seems like
> a bug, it's not clear that people would thank us for changing the
> behavior in minor releases, so no back-patch.
>
> David Rowley, reviewed by Julien Rouhaud and Pavel Stehule
>
> Discussion: https://postgr.es/m/15572-ed1b9ed09503de8a@postgresql.org

I now get:

/home/andres/src/postgresql/src/backend/parser/parse_func.c: In function ‘LookupFuncWithArgs’:
/home/andres/src/postgresql/src/backend/parser/parse_func.c:2285:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
switch (objtype)
^~~~~~
/home/andres/src/postgresql/src/backend/parser/parse_func.c:2336:4: note: here
case FUNCLOOKUP_AMBIGUOUS:
^~~~

which seems like a somewhat righteous complaint? I'd just add a break to
silence it (which can't be reached, because all paths ought to error
out).

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2019-03-23 02:39:56 Re: pgsql: Improve error reporting for DROP FUNCTION/PROCEDURE/AGGREGATE/RO
Previous Message Michael Paquier 2019-03-22 23:47:32 pgsql: Add option -N/--no-sync to pg_checksums