| From: | Noah Misch <noah(at)leadboat(dot)com> | 
|---|---|
| To: | Peter Eisentraut <peter(at)eisentraut(dot)org> | 
| Cc: | Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Subject: | Re: Potential ABI breakage in upcoming minor releases | 
| Date: | 2024-11-14 16:36:32 | 
| Message-ID: | 20241114163632.67.nmisch@google.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Aleksander Alekseev | 2024-11-14 16:43:53 | Re: Potential ABI breakage in upcoming minor releases | 
| Previous Message | Peter Geoghegan | 2024-11-14 16:35:25 | Re: Potential ABI breakage in upcoming minor releases |