Re: Make SPI_prepare argtypes argument const
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-06-11T18:35:22Z
Lists: pgsql-hackers
Attachments
- v2-0001-Make-SPI_prepare-argtypes-argument-const.patch (text/plain) patch v2-0001
- v2-0002-Add-some-more-const-qualifiers-to-SPI-functions.patch (text/plain) patch v2-0002
On 11.06.26 14:56, Tom Lane wrote: > Peter Eisentraut <peter@eisentraut.org> writes: >> This changes the argtypes argument of SPI_prepare(), >> SPI_prepare_cursor(), SPI_cursor_open_with_args(), and >> SPI_execute_with_args() from Oid *argtypes to const Oid *argtypes. > > We've discussed that before, and held off because we weren't entirely > sure if anyone would complain that it is an API/ABI break. I think > it's quite likely that the libabigail buildfarm machines will say > it is, but is there any actual consequence? I don't think we are tracking ABI compatibility in unreleased branches? One related thing I remember being discussed is adding qualifiers to functions that are part of the index or table access method APIs, because that breaks source code compatibility. I don't think that kind of concern applies here. (Also, I think we could still do those kinds of changes, but it'd be better to do them all at once in one release.) > Also, if we are going to use const in SPI, there are more parameters > besides the datatype OIDs that could stand to be const-ified, eg > the various Datum/isnull arrays. Those were already done, except that there were two curious stragglers, which I've added another patch to fix.
Commits
-
Make SPI_prepare argtypes argument const
- b1c41398e48c master landed
-
Fixes for SPI "const Datum *" use
- 2fb6015f7874 19 (unreleased) landed
- cd3ad3bc0356 master landed
-
Add support for importing statistics from remote servers.
- 28972b6fc3dc 19 (unreleased) cited