Re: get_whatever_oid, part 1: object types with unqualifed names
От | Robert Haas |
---|---|
Тема | Re: get_whatever_oid, part 1: object types with unqualifed names |
Дата | |
Msg-id | AANLkTimrjZkL6UO9hsLRVxrzO8ZPP873hAefWdxBDLBw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: get_whatever_oid, part 1: object types with unqualifed names (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: get_whatever_oid, part 1: object types with unqualifed names
|
Список | 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 по дате отправления: