v2-0002-Add-some-more-const-qualifiers-to-SPI-functions.patch

text/plain

Filename: v2-0002-Add-some-more-const-qualifiers-to-SPI-functions.patch
Type: text/plain
Part: 1
Message: Re: Make SPI_prepare argtypes argument const

Patch

Format: format-patch
Series: patch v2-0002
Subject: Add some more const qualifiers to SPI functions
File+
doc/src/sgml/spi.sgml 1 1
src/backend/executor/spi.c 3 3
src/include/executor/spi.h 2 2
From 31e8ae35ba8b1b7928c5e32f6f0b68459b912add Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
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 @@ <title>Return Value</title>
  <refsynopsisdiv>
 <synopsis>
 HeapTuple SPI_modifytuple(Relation <parameter>rel</parameter>, HeapTuple <parameter>row</parameter>, int <parameter>ncols</parameter>,
-                          int * <parameter>colnum</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>)
+                          const int * <parameter>colnum</parameter>, const Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>)
 </synopsis>
  </refsynopsisdiv>
 
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