Re: Potential ABI breakage in upcoming minor releases
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Pavan Deolasee <pavan.deolasee@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-11-14T16:36:32Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Undo unintentional ABI break in struct ResultRelInfo.
- ee33d58471de 16.6 landed
- 6bfacd368bb4 17.2 landed
- 17db248f318f 15.10 landed
- 099e711b77b8 14.15 landed
-
For inplace update durability, make heap_update() callers wait.
- 51ff46de29f6 16.5 cited
-
Fix btmarkpos/btrestrpos array key wraparound bug.
- 3fa81b62e09b 16.1 cited
-
Fix calculation of which GENERATED columns need to be updated.
- 8cd190e13a22 14.7 cited
On Thu, Nov 14, 2024 at 05:13:35PM +0100, Peter Eisentraut wrote: > On 14.11.24 15:35, Noah Misch wrote: > > The postgr.es/c/e54a42a standard would have us stop here. But I'm open to > > treating the standard as mistaken and changing things. > > That text explicitly calls out that adding struct members at the end of a > struct is considered okay. But thinking about it now, even adding fields to > the end of a node struct that extensions allocate using makeNode() is an ABI > break Right. makeNode(), palloc(sizeof), and stack allocation have that problem. Allocation wrappers like CreateExecutorState() avoid the problem. More generally, structs allocated in non-extension code are fine.