pgsql: pageinspect: Fix hash_bitmap_info not to read the underlying pag

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: pageinspect: Fix hash_bitmap_info not to read the underlying pag
Date: 2017-02-09 19:36:34
Message-ID: E1cbuWA-00039m-Rx@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pageinspect: Fix hash_bitmap_info not to read the underlying page.

It did that to verify that the page was an overflow page rather than
anything else, but that means that checking the status of all the
overflow bits requires reading the entire index. So don't do that.
The new code validates that the page is not a primary bucket page
or bitmap page by looking at the metapage, so that using this on
large numbers of pages can be reasonably efficient.

Ashutosh Sharma, per a complaint from me, and with further
modifications by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/fc8219dc54c95ea673560b786aa8123ce6ec5977

Modified Files
--------------
contrib/pageinspect/expected/hash.out | 18 ++++------
contrib/pageinspect/hashfuncs.c | 62 ++++++++++++++++++++---------------
src/backend/access/hash/hashovfl.c | 13 ++++++--
3 files changed, 53 insertions(+), 40 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2017-02-09 19:43:39 pgsql: Fix race condition in ConditionVariablePrepareToSleep.
Previous Message Tom Lane 2017-02-09 16:52:24 pgsql: Allow index AMs to cache data across aminsert calls within a SQL