Simplify SRFs using materialize mode in contrib/ modules
Michael Paquier <michael@paquier.xyz>
Simplify SRFs using materialize mode in contrib/ modules 9e98583 introduced a helper to centralize building their needed state (tuplestore, tuple descriptors, etc.), checking for any errors. This commit updates all places of contrib/ that can be switched to use SetSingleFuncCall() as a drop-in replacement, resulting in the removal of a lot of boilerplate code in all the modules updated by this commit. Per analysis, some places remain as they are: - pg_logdir_ls() in adminpack/ uses historically TYPEFUNC_RECORD as return type, and I suspect that changing it may cause issues at run-time with some of its past versions, down to 1.0. - dblink/ uses a wrapper function doing exactly the work of SetSingleFuncCall(). Here the switch should be possible, but rather invasive so it does not seem the extra backpatch maintenance cost. - tablefunc/, similarly, uses multiple helper functions with portions of SetSingleFuncCall() spread across the code paths of this module. Author: Melanie Plageman Discussion: https://postgr.es/m/CAAKRu_bvDPJoL9mH6eYwvBpPtTGQwbDzfJbCM-OjkSZDu5yTPg@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/amcheck/verify_heapam.c | modified | +4 −42 |
| contrib/dblink/dblink.c | modified | +2 −24 |
| contrib/pageinspect/brinfuncs.c | modified | +3 −28 |
| contrib/pageinspect/gistfuncs.c | modified | +4 −56 |
| contrib/pgrowlocks/pgrowlocks.c | modified | +4 −30 |
| contrib/pg_stat_statements/pg_stat_statements.c | modified | +3 −30 |
| contrib/postgres_fdw/connection.c | modified | +2 −29 |
| contrib/xml2/xpath.c | modified | +10 −62 |
Discussion
- make tuplestore helper function 23 messages · 2021-11-02 → 2022-03-08