Re: BUG #19380: Transition table in AFTER INSERT trigger misses rows from MERGE when used with INSERT in a CTE
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: dwwoelfel@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2026-01-24T15:58:40Z
Lists: pgsql-bugs
Dean Rasheed <dean.a.rasheed@gmail.com> writes:
> I've pushed this now. Expecting to have to push updates to
> .abi-compliance-history soon.
crake has reported in [1]:
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function (2 filtered out)
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'struct AfterTriggersTableData' changed:
type size changed from 80 to 64 (in bytes)
2 data member deletions:
'Tuplestorestate* old_del_tuplestore', at offset 56 (in bytes)
'Tuplestorestate* new_ins_tuplestore', at offset 64 (in bytes)
there are data member changes:
'TupleTableSlot* storeslot' offset changed from 72 to 56 (in bytes) (by -16 bytes)
'struct TransitionCaptureState' changed:
type size changed from 24 to 40 (in bytes)
2 data member insertions:
'AfterTriggersTableData* tcs_update_private', at offset 24 (in bytes)
'AfterTriggersTableData* tcs_delete_private', at offset 32 (in bytes)
there are data member changes:
name of 'TransitionCaptureState::tcs_private' changed to 'TransitionCaptureState::tcs_insert_private'
I find it unhelpful that it reported the AfterTriggersTableData
change as an ABI change, even though that struct is not globally
accessible. I wonder if there's some libabigail switches we
should be tweaking to refine that.
regards, tom lane
[1] https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=crake&dt=2026-01-24%2013%3A06%3A41&stg=abi-compliance-check
Commits
-
Update .abi-compliance-history for change to TransitionCaptureState.
- 7023650429e9 15.16 landed
- b06e7c10d172 16.12 landed
- 661d55e25737 17.8 landed
- fff87cb50dbd 18.2 landed
-
Fix trigger transition table capture for MERGE in CTE queries.
- c5824536e7ca 15.16 landed
- e7391bbf14db 16.12 landed
- c5fc17ddaccf 17.8 landed
- c6ce4dcf9d3b 18.2 landed
- b4307ae2e540 19 (unreleased) landed