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.a.rasheed@gmail.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