postgresql/src/backend
Heikki Linnakangas 6b4d3046f4 Fix bug in detecting concurrent page splits in GiST insert
In commit 9eb5607e69, I got the condition on checking for split or
deleted page wrong: I used && instead of ||. The comment correctly said
"concurrent split _or_ deletion".

As a result, GiST insertion could miss a concurrent split, and insert to
wrong page. Duncan Sands demonstrated this with a test script that did a
lot of concurrent inserts.

Backpatch to v12, where this was introduced. REINDEX is required to fix
indexes that were affected by this bug.

Backpatch-through: 12
Reported-by: Duncan Sands
Discussion: https://www.postgresql.org/message-id/a9690483-6c6c-3c82-c8ba-dc1a40848f11%40deepbluecap.com
2021-01-20 11:58:03 +02:00
..
access Fix bug in detecting concurrent page splits in GiST insert 2021-01-20 11:58:03 +02:00
bootstrap Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog Fix ALTER DEFAULT PRIVILEGES with duplicated objects 2021-01-20 11:38:17 +09:00
commands Refactor option handling of CLUSTER, REINDEX and VACUUM 2021-01-18 14:03:10 +09:00
executor Remove faulty support for MergeAppend plan with WHERE CURRENT OF. 2021-01-19 13:25:33 -05:00
foreign Update copyright for 2021 2021-01-02 13:06:25 -05:00
jit Update copyright for 2021 2021-01-02 13:06:25 -05:00
lib Update copyright for 2021 2021-01-02 13:06:25 -05:00
libpq Update copyright for 2021 2021-01-02 13:06:25 -05:00
main Update copyright for 2021 2021-01-02 13:06:25 -05:00
nodes Re-implement pl/pgsql's expression and assignment parsing. 2021-01-04 11:52:00 -05:00
optimizer Update copyright for 2021 2021-01-02 13:06:25 -05:00
parser Re-implement pl/pgsql's expression and assignment parsing. 2021-01-04 11:52:00 -05:00
partitioning Update copyright for 2021 2021-01-02 13:06:25 -05:00
po Translation updates 2020-05-18 12:49:30 +02:00
port Update copyright for 2021 2021-01-02 13:06:25 -05:00
postmaster Add pg_stat_database counters for sessions and session time 2021-01-17 13:52:31 +01:00
regex Fix ancient bug in parsing of BRE-mode regular expressions. 2021-01-08 12:16:00 -05:00
replication pgindent worker.c. 2021-01-19 08:10:13 +05:30
rewrite Update copyright for 2021 2021-01-02 13:06:25 -05:00
snowball Update copyright for 2021 2021-01-02 13:06:25 -05:00
statistics Update copyright for 2021 2021-01-02 13:06:25 -05:00
storage Allow for error or refusal while absorbing a ProcSignalBarrier. 2021-01-18 12:09:52 -05:00
tcop Refactor option handling of CLUSTER, REINDEX and VACUUM 2021-01-18 14:03:10 +09:00
tsearch Update copyright for 2021 2021-01-02 13:06:25 -05:00
utils Add bytea equivalents of ltrim() and rtrim(). 2021-01-18 15:11:32 -05:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Update copyright for 2021 2021-01-02 13:06:25 -05:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Add missing gettext triggers 2020-04-28 13:35:40 +02:00