Re: New "single-call SRF" APIs are very confusingly named

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, pgsql-hackers@postgresql.org, Michael Paquier <michael.paquier@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-10-16T22:04:43Z
Lists: pgsql-hackers
Hi,

On 2022-10-16 13:22:41 -0700, Melanie Plageman wrote:
> On Fri, Oct 14, 2022 at 7:41 PM Michael Paquier <michael@paquier.xyz> wrote:
> - * SetSingleFuncCall
> + * Compatibility function for v15.
> + */
> +void
> +SetSingleFuncCall(FunctionCallInfo fcinfo, bits32 flags)
> +{
> + InitMaterializedSRF(fcinfo, flags);
> +}
> +
> 
>  Any reason not to use a macro?

Yes - it'd introduce an ABI break, i.e. an already compiled extension
referencing SetSingleFuncCall() wouldn't fail to load into an upgraded sever,
due to the reference to the SetSingleFuncCall, which wouldn't exist anymore.

Greetings,

Andres Freund



Commits

  1. Remove compatibility declarations for InitMaterializedSRF()

  2. Rename SetSingleFuncCall() to InitMaterializedSRF()

  3. Create routine able to set single-call SRFs for Materialize mode