From adedf54e659ea37316a21c8d5a7aa8f711213d1c Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 23 Mar 2023 11:58:36 +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/execReplication.c') diff --git a/src/backend/executor/execReplication.c b/src/backend/executor/execReplication.c index f2bf72b5ffc..349bed0f5d3 100644 --- a/src/backend/executor/execReplication.c +++ b/src/backend/executor/execReplication.c @@ -292,9 +292,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