Re: Potential ABI breakage in upcoming minor releases

Mats Kindahl <mats@timescale.com>

From: Mats Kindahl <mats@timescale.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Noah Misch <noah@leadboat.com>, Pavan Deolasee <pavan.deolasee@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-11-15T13:05:40Z
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 →
  1. Undo unintentional ABI break in struct ResultRelInfo.

  2. For inplace update durability, make heap_update() callers wait.

  3. Fix btmarkpos/btrestrpos array key wraparound bug.

  4. Fix calculation of which GENERATED columns need to be updated.

On Thu, Nov 14, 2024 at 5:13 PM Peter Eisentraut <peter@eisentraut.org>
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 that is liable to cause all affected
> extensions to break in a crashing way.
>

I think it was mentioned elsewhere, but this wouldn't be a problem if
makeNode was not a macro.
-- 
Best wishes,
Mats Kindahl, Timescale