On 2015-07-21 17:00:51 +0200, Andres Freund wrote:
> On 2015-07-21 07:55:17 -0700, Paul Ramsey wrote:
> > On Tue, Jul 21, 2015 at 7:45 AM, Andres Freund <andres@anarazel.de> wrote:
> > So, right after reading the options in postgresGetForeignRelSize,
> > expand the extension list into a list of all ops/functions, in a
> > sorted list, and let that carry through to the deparsing instead?
>
> I'd actually try to make it longer lived, i.e. permanently. And just
> deallocate when a catcache callback says it needs to be invalidated;
> IIRC there is a relevant cache.
On second thought I'd not use a binary search but a hash table. If you
choose the right key a single table is enough for the lookup.
If you need references for invalidations you might want to look for
CacheRegisterSyscacheCallback callers. E.g. attoptcache.c