> So: yes to a local cache of all forwardable functions/ops, populated in full the first time through (does that speak maybe to using a binary search on a sorted list instead of a hash, since I only pay the sort price once and am not doing any insertions?). 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).
Roger that. Off to the races..
P