From: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Julien Rouhaud <rjuju123(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Ash M <makmarath(at)hotmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15572: Misleading message reported by "Drop function operation" on DB with functions having same name |
Date: | 2019-02-20 08:34:15 |
Message-ID: | CAKJS1f-ABpt_oT1dL6rSvBch7-u-9+qBLb1KGrhTvDiHZ37e2Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Wed, 20 Feb 2019 at 18:56, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Wed, Feb 20, 2019 at 09:57:19AM +1300, David Rowley wrote:
> > Great. Thanks for reviewing it.
>
> You forgot to change a call of LookupFuncWithArgs() in
> CreateTransform().
Yikes, Arthur did mention that, but I somehow managed to stumble over
it when I checked. The attached fixes.
> - address.objectId = LookupFuncWithArgs(objtype, castNode(ObjectWithArgs, object), missing_ok);
> + address.objectId = LookupFuncWithArgs(objtype, castNode(ObjectWithArgs, object),
> + missing_ok ? FUNCLOOKUP_ERRIFAMBIGUOUS :
> + FUNCLOOKUP_NORMAL);
>
> LookupFuncWithArgs() calls itself LookupFuncName(), which may not use
> the check type provided by the caller.. I think that the existing API
> is already confusing enough, and this patch makes it a bit more
> confusing by adding an extra error layer handling on top of it.
> Wouldn't it be more simple from an error handling point of view to
> move all the error handling into LookupFuncName() and let the caller
> decide what kind of function type handling it expects from the start?
> I think that the right call is to add the object type into the
> arguments of LookupFuncName().
But there are plenty of callers that use LookupFuncName() directly. Do
you happen to know it's okay for all those to error out with the
additional error conditions that such a change would move into that
function? I certainly don't know that.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachment | Content-Type | Size |
---|---|---|
drop_func_if_not_exists_fix_v7.patch | application/octet-stream | 25.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2019-02-20 12:14:52 | BUG #15644: not able to up the database |
Previous Message | Michael Paquier | 2019-02-20 05:56:27 | Re: BUG #15572: Misleading message reported by "Drop function operation" on DB with functions having same name |
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2019-02-20 08:39:38 | Re: Compressed TOAST Slicing |
Previous Message | Michael Paquier | 2019-02-20 08:22:01 | Re: Prepared transaction releasing locks before deregistering its GID |