Re: Potential ABI breakage in upcoming minor releases
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Pavan Deolasee <pavan.deolasee@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>, Noah Misch <noah@leadboat.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-11-14T16:35:25Z
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 11:29 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > ISTM that we have spare bytes where we could place that boolean without > breaking ABI. In x86_64 there's a couple of 4-byte holes, but those > won't be there on x86, so not great candidates. Fortunately there are > 3-byte and 7-byte holes also, which we can use safely. We can move the > new boolean to those location. Wasn't this part of the official guidelines? I've been doing this all along (e.g., in commit 3fa81b62e0). > The holes are different in each branch unfortunately. Yeah, that'd make it a bit more complicated, but still doable. It would be necessary to place the same field in seemingly random locations on each backbranch. FWIW recent versions of clangd will show me information about field padding in struct annotations. I don't even have to run pahole. -- Peter Geoghegan