From 92bbc5e7c2bf9b44913ee67048668354aa9f5030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Herrera?= Date: Thu, 12 Mar 2026 16:14:30 +0100 Subject: [PATCH 8/9] XXX devel comment: heap_deform_tuple -> slot_deform_tuple? --- src/backend/replication/pgoutput_repack/pgoutput_repack.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index 73aa6f0589c..c77564c4024 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -200,9 +200,14 @@ store_change(LogicalDecodingContext *ctx, Relation relation, attrs = palloc_array(Datum, desc->natts); isnull = palloc_array(bool, desc->natts); + /* + * XXX it might be better to use slot_deform_tuple here, for the case + * where atttributes near the end of the tuple don't need to undergo + * this procedure. + */ heap_deform_tuple(tuple, desc, attrs, isnull); - /* First, gather and count the "external indirect" attributes. */ + /* First, gather all the "external indirect" attributes. */ for (int i = 0; i < desc->natts; i++) { CompactAttribute *attr = TupleDescCompactAttr(desc, i); -- 2.47.3