Re: ABI Compliance Checker GSoC Project

From: Andres Freund <andres(at)anarazel(dot)de>
To: "David E(dot) Wheeler" <david(at)justatheory(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Mankirat Singh <mankiratsingh1315(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: ABI Compliance Checker GSoC Project
Date: 2026-01-24 23:37:02
Message-ID: c2lzkkxeyrvucxyl4uf2d6v5l56esymzs3hujc64pdhg2er6j2@xnxpbj6gqcpi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2026-01-24 18:09:54 -0500, David E. Wheeler wrote:
> Are ABI failures like this[0] expected?

commit b4307ae2e54 (HEAD, upstream/master, upstream/HEAD, master)
Author: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
Date: 2026-01-24 11:30:48 +0000

Fix trigger transition table capture for MERGE in CTE queries.
...

This requires changing the TransitionCaptureState structure, replacing
"tcs_private" with 3 separate pointers to AfterTriggersTableData
structures, one for each of INSERT, UPDATE, and DELETE. Nominally,
this is an ABI break to a public structure in commands/trigger.h.
However, since this is a private field pointing to an opaque data
structure, the only way to create a valid TransitionCaptureState is by
calling MakeTransitionCaptureState(), and no extensions appear to be
doing that anyway, so it seems safe for back-patching.
...

In [1] Dean said he's expects to have to push an amendment to
.abi-compliance-history soon. But then the discussion got a bit derailed
because one of the complaints being reported is bogus, as the struct is only
defined in a .c file.

Greetings,

Andres Freund

[1] https://postgr.es/m/CAEZATCX3obg5BP3g36LFDhsZgG9BYPN3qQusz_F-K%3D-yOoPJCw%40mail.gmail.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David E. Wheeler 2026-01-24 23:49:01 Re: ABI Compliance Checker GSoC Project
Previous Message Thomas Munro 2026-01-24 23:14:19 Re: Time to drop RADIUS support?