Paul Ramsey <pramsey@cleverelephant.ca> writes:
> On July 21, 2015 at 11:07:36 AM, Tom Lane (tgl@sss.pgh.pa.us) wrote:
> I'm inclined to think that it's not really necessary to worry about
> invalidating a per-connection cache of "is this function safe to ship"
> determinations.
> So: yes to a local cache of all forwardable functions/ops, populated in full the first time through (does that speak
maybeto using a binary search on a sorted list instead of a hash, since I only pay the sort price once and am not doing
anyinsertions?). And then we just hold it until the connection goes away.
No, *not* populated first-time-through, because that won't handle any of
the CREATE, DROP, or UPGRADE cases. It's also doing a lot of work you
might never need. I was thinking of "populate on demand", that is, first
time you need to know whether function X is shippable, you find that out
and then cache the answer (whether it be positive or negative).
regards, tom lane