From 9dac02c772587f1ff645ad5b97e55c5e1c6206ad Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 23 Mar 2023 11:32:22 +0530 Subject: Ignore generated columns during apply of update/delete. We fail to apply updates and deletes when the REPLICA IDENTITY FULL is used for the table having generated columns. We didn't use to ignore generated columns while doing tuple comparison among the tuples from the publisher and subscriber during apply of updates and deletes. Author: Onder Kalaci Reviewed-by: Shi yu, Amit Kapila Backpatch-through: 12 Discussion: https://postgr.es/m/CACawEhVQC9WoofunvXg12aXtbqKnEgWxoRx3+v8q32AWYsdpGg@mail.gmail.com --- src/backend/executor/execReplication.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/backend/executor') diff --git a/src/backend/executor/execReplication.c b/src/backend/executor/execReplication.c index db7414eaf7e..dec65abaa98 100644 --- a/src/backend/executor/execReplication.c +++ b/src/backend/executor/execReplication.c @@ -246,9 +246,10 @@ tuples_equal(TupleTableSlot *slot1, TupleTableSlot *slot2, att = TupleDescAttr(slot1->tts_tupleDescriptor, attrnum); /* - * Ignore dropped columns as the publisher doesn't send those + * Ignore dropped and generated columns as the publisher doesn't send + * those */ - if (att->attisdropped) + if (att->attisdropped || att->attgenerated) continue; /* -- cgit v1.2.3