pgsql: Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transact

Поиск
Список
Период
Сортировка
От Noah Misch
Тема pgsql: Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transact
Дата
Msg-id E1l5lkO-0004Zs-0P@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.

In a cluster having used CREATE INDEX CONCURRENTLY while having enabled
prepared transactions, queries that use the resulting index can silently
fail to find rows.  Fix this for future CREATE INDEX CONCURRENTLY by
making it wait for prepared transactions like it waits for ordinary
transactions.  This expands the VirtualTransactionId structure domain to
admit prepared transactions.  It may be necessary to reindex to recover
from past occurrences.  Back-patch to 9.5 (all supported versions).

Andrey Borodin, reviewed (in earlier versions) by Tom Lane and Michael
Paquier.

Discussion: https://postgr.es/m/2E712143-97F7-4890-B470-4A35142ABC82@yandex-team.ru

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/86a5b309c9330661fd2c4c46e4dc7f07cca139e1

Modified Files
--------------
src/backend/storage/lmgr/lmgr.c                    |  3 +-
src/backend/storage/lmgr/lock.c                    | 43 +++++++++++++---------
src/include/storage/lock.h                         | 17 +++++----
src/test/isolation/Makefile                        | 11 +++---
src/test/isolation/README                          |  6 +--
.../expected/prepared-transactions-cic.out         | 18 +++++++++
.../isolation/specs/prepared-transactions-cic.spec | 37 +++++++++++++++++++
7 files changed, 98 insertions(+), 37 deletions(-)


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

Предыдущее
От: Noah Misch
Дата:
Сообщение: pgsql: Fix error with CREATE PUBLICATION, wal_level=minimal, and new ta
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Allow GRANTED BY clause in normal GRANT and REVOKE statements