Re: get_whatever_oid, part 1: object types with unqualifed names

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: get_whatever_oid, part 1: object types with unqualifed names
Date: 2010-06-28 16:17:45
Message-ID: 28922.1277741865@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Mon, Jun 28, 2010 at 10:53 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-06-28 16:27:39 Re: get_whatever_oid, part 1: object types with unqualifed names
Previous Message Robert Haas 2010-06-28 16:07:16 Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function