| From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Predicate locking in hash indexes. |
| Date: | 2018-04-07 13:59:36 |
| Message-ID: | E1f4oNU-0005Z7-Nk@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Predicate locking in hash indexes.
Hash index searches acquire predicate locks on the primary
page of a bucket. It acquires a lock on both the old and new buckets
for scans that happen concurrently with page splits. During a bucket
split, a predicate lock is copied from the primary page of an old
bucket to the primary page of a new bucket.
Author: Shubham Barai, Amit Kapila
Reviewed by: Amit Kapila, Alexander Korotkov, Thomas Munro
Discussion: https://www.postgresql.org/message-id/flat/CALxAEPvNsM2GTiXdRgaaZ1Pjd1bs+sxfFsf7Ytr+iq+5JJoYXA(at)mail(dot)gmail(dot)com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/b508a56f2f3a2d850e75a14661943d6b4dde8274
Modified Files
--------------
src/backend/access/hash/hash.c | 2 +-
src/backend/access/hash/hashinsert.c | 3 +
src/backend/access/hash/hashpage.c | 6 +
src/backend/access/hash/hashsearch.c | 3 +
src/backend/storage/lmgr/README-SSI | 7 +
src/test/isolation/expected/predicate-hash.out | 659 +++++++++++++++++++++++++
src/test/isolation/isolation_schedule | 1 +
src/test/isolation/specs/predicate-hash.spec | 122 +++++
8 files changed, 802 insertions(+), 1 deletion(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2018-04-07 15:43:53 | pgsql: Logical decoding of TRUNCATE |
| Previous Message | Alvaro Herrera | 2018-04-07 13:39:53 | pgsql: Document partprune.c a little better |