Re: get_whatever_oid, part 1: object types with unqualifed names - Mailing list pgsql-hackers

From Robert Haas
Subject Re: get_whatever_oid, part 1: object types with unqualifed names
Date
Msg-id AANLkTimrjZkL6UO9hsLRVxrzO8ZPP873hAefWdxBDLBw@mail.gmail.com
Whole thread Raw
In response to Re: get_whatever_oid, part 1: object types with unqualifed names  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: get_whatever_oid, part 1: object types with unqualifed names
List pgsql-hackers
On Mon, Jun 28, 2010 at 12:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Mon, Jun 28, 2010 at 10:53 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> I'm not sure I agree that replacing SearchSysCacheExists calls (or
>>> things that should have been SearchSysCacheExists calls) with
>>> OidIsValid(get_whatever_oid()) is an improvement.  The Exists call
>>> tells what you're actually trying to accomplish.  The other way is
>>> an overspecification of the required result.
>
>> It is, but on the other hand it's only good fortune that testing
>> whether a schema exists is a one-liner even without using
>> get_namespace_oid().
>
> True.  Is it worth providing whatever_exists() macros that wrap
> get_whatever_oid() like this, just so that callers are a bit clearer as
> to what they're doing?  I'm not certain though how many places it could
> be used, since many callers probably actually do need the OID, and would
> have to write separate lines anyway:
>
>        objoid = get_whatever_oid(...);
>        if (!OidIsValid(objoid))
>                ereport(...);
>        ... code using objoid here ...
>
> But it's been useful to have the SearchSysCacheExists functions, even
> though they're just wrappers, so maybe whatever_exists() would be worth
> its keep.

I haven't made a detailed study of this issue, so I'm not 100% sure.
My gut feeling however is that nearly all of the callers need the OID,
and that some of the whatever_exists() functions wouldn't have any
callers at all.  Which makes me pretty hesitant to add them,
especially given our decision not to centralize all the
get_whatever_oid() functions in one place.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: get_whatever_oid, part 1: object types with unqualifed names
Next
From: Tom Lane
Date:
Subject: Re: get_whatever_oid, part 1: object types with unqualifed names