Fix inconsistencies in SRF checks of pg_config() and string_to_table()
authorMichael Paquier <michael@paquier.xyz>
Sat, 19 Feb 2022 05:58:51 +0000 (14:58 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sat, 19 Feb 2022 05:58:51 +0000 (14:58 +0900)
commit07daca53bfcad59618a9c6fad304e380cc9d2bc1
tree8558156571631a6b9211a3e12879a89966ad73e8
parent618c16707a6d6e8f5c83ede2092975e4670201ad
Fix inconsistencies in SRF checks of pg_config() and string_to_table()

The execution paths of those functions have been using a set of checks
inconsistent with any other SRF function:
- string_to_table() missed a check on expectedDesc, the tuple descriptor
expected by the caller, that should never be NULL.  Introduced in
66f1630.
- pg_config() should check for a ReturnSetInfo, and expectedDesc cannot
be NULL.  Its error messages were also inconsistent.  Introduced in
a5c43b8.

Extracted from a larger patch by the same author, in preparation for a
larger patch set aimed at refactoring the way tuplestores are created
and checked in SRF functions.

Author: Melanie Plageman
Reviewed-by: Justin Pryzby
Discussion: https://postgr.es/m/CAAKRu_azyd1Z3W_r7Ou4sorTjRCs+PxeHw1CWJeXKofkE6TuZg@mail.gmail.com
src/backend/utils/adt/varlena.c
src/backend/utils/misc/pg_config.c