Re: Oid registry - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Oid registry
Date
Msg-id 5061DBFE.6010807@dunslane.net
Whole thread Raw
In response to Re: Oid registry  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 09/25/2012 12:14 PM, Tom Lane wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
>> Excerpts from Hitoshi Harada's message of mar sep 25 02:11:14 -0300 2012:
>>> Of course you can
>>> look up type name conlusting SysCache and see if the type name is
>>> "hstore", but it's expensive to do it for every function invocation,
>>> so caching the hstore's oid in plv8 is the current workaround, which
>>> is not truly safe because the hstore's oid may change while caching.
>> Hm, couldn't you just register an invalidation callback with
>> CacheRegisterSyscacheCallback()?
> Yeah, if the code that needs the value is in the backend; but if it is,
> the cost of looking the value up again probably isn't that much either.
> The need for a cache is much greater in client-side code.
>
> The bigger issues in my mind have to do with how you look up the type in
> the first place (considering schema search path and so forth) and how
> you know that "hstore" is what you think it is.
>
> I recall some discussion of assigning a UUID to each datatype, which
> might alleviate the second part of that at least.  Does nothing for
> malicious impersonation of a datatype of course, but should prevent
> accidental collisions.
>
>             


One nice thing about that idea (if I understand it correctly) is that we 
could use it for existing types. The horse has long bolted on Oids for 
hstore, because it has lots of existing deployments with unknown Oids.

cheers

andrew







pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: xlog filename formatting functions in recovery
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Oid registry