Re: Potential ABI breakage in upcoming minor releases - Mailing list pgsql-hackers

From Pavan Deolasee
Subject Re: Potential ABI breakage in upcoming minor releases
Date
Msg-id CABOikdPSO=pdAeRJ-_tS2EG=88bKbB=hZt9ZJS6p6GKcMTiLtg@mail.gmail.com
Whole thread Raw
In response to Re: Potential ABI breakage in upcoming minor releases  (Peter Eisentraut <peter@eisentraut.org>)
List pgsql-hackers


On Thu, Nov 14, 2024 at 9:43 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. 

I think that assumption is ok when the struct is allocated by core and passed to the extension. But if the struct is allocated (static or dynamic) and passed to the core, we have to be extra careful.
 
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.

Memory corruption issues can be quite subtle and hard to diagnose. So if wrapping a new release is an option, I would vote for it. If we do that, doing it for every impacted version would be more prudent. But I don't know what are the policies around making a new release.

Thanks,
Pavan 

pgsql-hackers by date:

Previous
From: Matthias van de Meent
Date:
Subject: Re: SQL:2011 application time
Next
From: Noah Misch
Date:
Subject: Re: Potential ABI breakage in upcoming minor releases