Thread: pgsql: Rethink recently-added SPI interfaces.
Rethink recently-added SPI interfaces. SPI_execute_with_receiver and SPI_cursor_parse_open_with_paramlist are new in v14 (cf. commit 2f48ede08). Before they can get out the door, let's change their APIs to follow the practice recently established by SPI_prepare_extended etc: shove all optional arguments into a struct that callers are supposed to pre-zero. The hope is to allow future addition of more options without either API breakage or a continuing proliferation of new SPI entry points. With that in mind, choose slightly more generic names for them: SPI_execute_extended and SPI_cursor_parse_open respectively. Discussion: https://postgr.es/m/CAFj8pRCLPdDAETvR7Po7gC5y_ibkn_-bOzbeJb39WHms01194Q@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d5a83d79c9f9b660a6a5a77afafe146d3c8c6f46 Modified Files -------------- doc/src/sgml/spi.sgml | 306 ++++++++++++++++++++++++++----------------- src/backend/executor/spi.c | 114 +++++++--------- src/include/executor/spi.h | 24 ++-- src/pl/plpgsql/src/pl_exec.c | 46 ++++--- 4 files changed, 280 insertions(+), 210 deletions(-)