pgsql: Fix bug introduced by microvacuum for GiST

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix bug introduced by microvacuum for GiST
Date: 2015-09-17 11:23:05
Message-ID: E1ZcXHN-0008NZ-H5@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix bug introduced by microvacuum for GiST

Commit 013ebc0a7b7ea9c1b1ab7a3d4dd75ea121ea8ba7 introduces microvacuum for
GiST, deletetion of tuple marked LP_DEAD uses IndexPageMultiDelete while
recovery code uses IndexPageTupleDelete in loop. This causes a difference
in offset numbers of tuples to delete. Patch introduces usage of
IndexPageMultiDelete in GiST except gistplacetopage() where only one tuple is
deleted at once. That also slightly improve performance, because
IndexPageMultiDelete is more effective.

Patch changes WAL format, so bump wal page magic.

Bug report from Jeff Janes
Diagnostic and patch by Anastasia Lubennikova and me

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/22f519c92a45eb017bf2e65f36506a75309f8094

Modified Files
--------------
src/backend/access/gist/gist.c | 5 +++++
src/backend/access/gist/gistvacuum.c | 11 ++++-------
src/backend/access/gist/gistxlog.c | 4 +---
src/include/access/xlog_internal.h | 2 +-
4 files changed, 11 insertions(+), 11 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Meskes 2015-09-17 13:43:36 pgsql: Let compiler handle size calculation of bool types.
Previous Message Robert Haas 2015-09-16 19:40:01 pgsql: Determine whether it's safe to attempt a parallel plan for a que