pgsql: Fix construction of updated-columns bitmap in logical replicatio
От | Tom Lane |
---|---|
Тема | pgsql: Fix construction of updated-columns bitmap in logical replicatio |
Дата | |
Msg-id | E1jxZmG-0002HB-LZ@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix construction of updated-columns bitmap in logical replication. Commit b9c130a1f failed to apply the publisher-to-subscriber column mapping while checking which columns were updated. Perhaps less significantly, it didn't exclude dropped columns either. This could result in an incorrect updated-columns bitmap and thus wrong decisions about whether to fire column-specific triggers on the subscriber while applying updates. In HEAD (since commit 9de77b545), it could also result in accesses off the end of the colstatus array, as detected by buildfarm member skink. Fix the logic, and adjust 003_constraints.pl so that the problem is exposed in unpatched code. In HEAD, also add some assertions to check that we don't access off the ends of these newly variable-sized arrays. Back-patch to v10, as b9c130a1f was. Discussion: https://postgr.es/m/CAH2-Wz=79hKQ4++c5A060RYbjTHgiYTHz=fw6mptCtgghH2gJA@mail.gmail.com Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/71e561bd4bc2d6e85f9a1ae8064d8b190dcad2b4 Modified Files -------------- src/backend/replication/logical/worker.c | 13 ++++++++++--- src/test/subscription/t/003_constraints.pl | 13 ++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-)
В списке pgsql-committers по дате отправления: