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-0002H7-KX@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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d5daae47db5e8a61ce6ed7afaa3e3a99af108c06

Modified Files
--------------
src/backend/replication/logical/proto.c    |  1 +
src/backend/replication/logical/worker.c   | 18 +++++++++++++++---
src/include/replication/logicalproto.h     |  7 ++++++-
src/test/subscription/t/003_constraints.pl | 12 +++++++-----
4 files changed, 29 insertions(+), 9 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Update btree_gist extension for parallel query
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Correctly mark pg_subscription_rel.srsublsn as nullable.