Re: table AM option passing
Zsolt Parragi <zsolt.parragi@percona.com>
From: Zsolt Parragi <zsolt.parragi@percona.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Andres Freund <andres@anarazel.de>,
Pg Hackers <pgsql-hackers@lists.postgresql.org>, Nathan Bossart <nathandbossart@gmail.com>
Date: 2026-03-31T23:20:00Z
Lists: pgsql-hackers
static inline TM_Result table_tuple_delete(Relation rel, ItemPointer tid, CommandId cid, - Snapshot snapshot, Snapshot crosscheck, bool wait, - TM_FailureData *tmfd, bool changingPart) + uint32 options, Snapshot snapshot, Snapshot crosscheck, + bool wait, TM_FailureData *tmfd) The doc comment still referneces changingPart Similarly table_tuple_update doesn't document the new options parameter. @@ -339,7 +341,8 @@ heapam_tuple_update(Relation relation, ItemPointer otid, TupleTableSlot *slot, slot->tts_tableOid = RelationGetRelid(relation); tuple->t_tableOid = slot->tts_tableOid; - result = heap_update(relation, otid, tuple, cid, crosscheck, wait, + result = heap_update(relation, otid, tuple, cid, options, + crosscheck, wait, tmfd, lockmode, update_indexes); ItemPointerCopy(&tuple->t_self, &slot->tts_tid); options is marked pg_attribute_unused above, that seems misleading. Should the annotation be part of the heap_update signature instead?
Commits
-
Give an 'options' parameter to tuple_delete/_update
- db89a47115f0 19 (unreleased) landed
-
Fix vicinity of tuple_insert to use uint32, not int, for options
- ec2f81766ad7 19 (unreleased) landed
-
Have table_insert and siblings use an unsigned type for options
- 1bd6f22f43ac 19 (unreleased) landed
-
Remove the following unused type definitions: bool8, bool16, bool32, word8,
- ca7a1f0c8684 8.0.0 cited