Switch some system functions to use get_call_result_type()
Michael Paquier <michael@paquier.xyz>
Switch some system functions to use get_call_result_type() This shaves some code by replacing the combinations of CreateTemplateTupleDesc()/TupleDescInitEntry() hardcoding a mapping of the attributes listed in pg_proc.dat by get_call_result_type() to build the TupleDesc needed for the rows generated. get_call_result_type() is more expensive than the former style, but this removes some duplication with the lists of OUT parameters (pg_proc.dat and the attributes hardcoded in these code paths). This is applied to functions that are not considered as critical (aka that could be called repeatedly for monitoring purposes). Author: Bharath Rupireddy Reviewed-by: Robert Haas, Álvaro Herrera, Tom Lane, Michael Paquier Discussion: https://postgr.es/m/CALj2ACV23HW5HP5hFjd89FNS-z5X8r2jNXdMXcpN2BgTtKd87w@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/old_snapshot/time_mapping.c | modified | +4 −22 |
| contrib/pg_visibility/pg_visibility.c | modified | +2 −4 |
| src/backend/access/transam/commit_ts.c | modified | +4 −22 |
| src/backend/access/transam/multixact.c | modified | +3 −6 |
| src/backend/catalog/objectaddress.c | modified | +6 −36 |
| src/backend/commands/sequence.c | modified | +2 −17 |
| src/backend/tsearch/wparser.c | modified | +15 −20 |
| src/backend/utils/adt/datetime.c | modified | +4 −13 |
| src/backend/utils/adt/misc.c | modified | +5 −26 |
| src/backend/utils/adt/partitionfuncs.c | modified | +3 −11 |
| src/backend/utils/adt/tsvector_op.c | modified | +6 −9 |
| src/backend/utils/misc/pg_controldata.c | modified | +8 −100 |
Discussion
- Use get_call_result_type() more widely 18 messages · 2022-12-13 → 2022-12-21