From 31e8ae35ba8b1b7928c5e32f6f0b68459b912add Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 11 Jun 2026 20:22:42 +0200 Subject: [PATCH v2 2/2] Add some more const qualifiers to SPI functions Most SPI functions had the values/nulls pairs with const, except for SPI_modifytuple() and SPI_cursor_open_with_args(), which only had it for nulls. Fix that. In the latter case, the documentation was even ahead of reality, so only the documentation of the former is touched by this patch. --- doc/src/sgml/spi.sgml | 2 +- src/backend/executor/spi.c | 6 +++--- src/include/executor/spi.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 043c6f00039..baee7bb5c0f 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -4694,7 +4694,7 @@ Return Value HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, int ncols, - int * colnum, Datum * values, const char * nulls) + const int * colnum, const Datum * values, const char * nulls) diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index d884c962f14..6aea69295e0 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -1104,8 +1104,8 @@ SPI_returntuple(HeapTuple tuple, TupleDesc tupdesc) } HeapTuple -SPI_modifytuple(Relation rel, HeapTuple tuple, int natts, int *attnum, - Datum *Values, const char *Nulls) +SPI_modifytuple(Relation rel, HeapTuple tuple, int natts, const int *attnum, + const Datum *Values, const char *Nulls) { MemoryContext oldcxt; HeapTuple mtuple; @@ -1473,7 +1473,7 @@ Portal SPI_cursor_open_with_args(const char *name, const char *src, int nargs, const Oid *argtypes, - Datum *Values, const char *Nulls, + const Datum *Values, const char *Nulls, bool read_only, int cursorOptions) { Portal result; diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h index e809ba18098..61bcf48b6bf 100644 --- a/src/include/executor/spi.h +++ b/src/include/executor/spi.h @@ -155,7 +155,7 @@ extern CachedPlan *SPI_plan_get_cached_plan(SPIPlanPtr plan); extern HeapTuple SPI_copytuple(HeapTuple tuple); extern HeapTupleHeader SPI_returntuple(HeapTuple tuple, TupleDesc tupdesc); extern HeapTuple SPI_modifytuple(Relation rel, HeapTuple tuple, int natts, - int *attnum, Datum *Values, const char *Nulls); + const int *attnum, const Datum *Values, const char *Nulls); extern int SPI_fnumber(TupleDesc tupdesc, const char *fname); extern char *SPI_fname(TupleDesc tupdesc, int fnumber); extern char *SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber); @@ -176,7 +176,7 @@ extern Portal SPI_cursor_open(const char *name, SPIPlanPtr plan, extern Portal SPI_cursor_open_with_args(const char *name, const char *src, int nargs, const Oid *argtypes, - Datum *Values, const char *Nulls, + const Datum *Values, const char *Nulls, bool read_only, int cursorOptions); extern Portal SPI_cursor_open_with_paramlist(const char *name, SPIPlanPtr plan, ParamListInfo params, bool read_only); -- 2.54.0