Tom Lane wrote:
> BTW, because of MVCC semantics, case 2 covers more ground than you might
> think. We are interested in functions whose values cannot change during
> a single "scan", ie, while the intra-transaction command counter does
> not increment. So functions that do SELECTs are actually guaranteed to
> be case 2, even if stuff outside the function is changing the table
> being looked at.
>
> My problem is picking names for the three categories of functions.
> Currently we use "with (isCachable)" to identify category 1, but it
> seems like this name might actually be more sensible for category 2.
> I'm having a hard time picking simple names that convey these meanings
> accurately, or even with a reasonable amount of suggestiveness.
>
> Comments, ideas?
>
How about:
case 1: Cachable
case 2: ScanCachable or Optimizable
case 3: NonCachable
Joe