Re: Why is fncollation in FunctionCallInfoData rather than fmgr_info?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Why is fncollation in FunctionCallInfoData rather than fmgr_info?
Date: 2018-06-06 15:17:33
Message-ID: 8282.1528298253@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> writes:
> On 6/6/18 09:06, Andres Freund wrote:
>> 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.

Well, I still say this is an ad-hoc, unprincipled semantics change.
If we're going to buy into FmgrInfo being call site dependent,
we should go all the way. Why not move nargs there (or get rid of it,
isn't it redundant with fn_nargs?), and possibly the context pointer?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2018-06-06 15:34:23 Re: Code of Conduct plan
Previous Message Peter Eisentraut 2018-06-06 15:10:11 Re: PATCH pass PGOPTIONS to pg_regress