On 6/6/18 09:06, Andres Freund wrote:
>> It's true that we often abuse fn_extra to hold data that's essentially
>> call-site-dependent, but I don't think that's a good reason to push
>> collation into FmgrInfo.
> FmgrInfo really *is* call-site dependent, no? fn_extra, fn_mcxt, fn_expr
> all are. I think it's more useful to view the FmgrInfo /
> FunctionCallInfo data split as the separation between per-callsite and
> per-call data. And I think it'd make much more sense to officially
> treat collation as the former.
I think there are really three sets of information: catalog lookup
information, per query/expression information (such as collation), and
per-call information. But we only have two places to put things, so it
might look a bit odd.
Nothing wrong with considering changes, of course.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services