Re: New "single-call SRF" APIs are very confusingly named
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: Melanie Plageman <melanieplageman@gmail.com>, pgsql-hackers@postgresql.org, Michael Paquier <michael.paquier@gmail.com>
Date: 2022-10-17T01:13:33Z
Lists: pgsql-hackers
On Sun, Oct 16, 2022 at 03:09:14PM -0700, Andres Freund wrote: > On 2022-10-15 11:41:08 +0900, Michael Paquier wrote: >> -/* flag bits for SetSingleFuncCall() */ >> -#define SRF_SINGLE_USE_EXPECTED 0x01 /* use expectedDesc as tupdesc */ >> -#define SRF_SINGLE_BLESS 0x02 /* validate tuple for SRF */ >> +/* flag bits for InitMaterializedSRF() */ >> +#define MAT_SRF_USE_EXPECTED_DESC 0x01 /* use expectedDesc as tupdesc */ >> +#define MAT_SRF_BLESS 0x02 /* complete tuple descriptor, for >> + * a transient RECORD datatype */ > > I don't really know what "complete tuple descriptor" means. BlessTupleDesc() > does say "make a completed tuple descriptor useful for SRFs" - but I don't > think that means that Bless* makes them complete, but that they *have* to be > complete to be blessed. That's just assign_record_type_typmod(), which would make sure to fill the cache for a RECORD tupdesc. How about "fill the cache with the information of the tuple descriptor type, for a transient RECORD datatype"? If you have a better, somewhat less confusing, idea, I am open to suggestions. >> @@ -2164,8 +2164,8 @@ elements_worker_jsonb(FunctionCallInfo fcinfo, const char *funcname, >> >> rsi = (ReturnSetInfo *) fcinfo->resultinfo; >> >> - SetSingleFuncCall(fcinfo, >> - SRF_SINGLE_USE_EXPECTED | SRF_SINGLE_BLESS); >> + InitMaterializedSRF(fcinfo, >> + MAT_SRF_USE_EXPECTED_DESC | MAT_SRF_BLESS); > > Already was the case, so maybe not worth mucking with: Why the newline here, > but not in other cases? Yeah, that's fine as well. -- Michael
Commits
-
Remove compatibility declarations for InitMaterializedSRF()
- eddc128beac0 16.0 landed
-
Rename SetSingleFuncCall() to InitMaterializedSRF()
- f2f7e509e6a9 15.1 landed
- a19e5cee635d 16.0 landed
-
Create routine able to set single-call SRFs for Materialize mode
- 9e98583898c3 15.0 cited