>> 1) Check if an overflow page is a new page. If so, read a bitmap page >> to confirm if a bit corresponding to this overflow page is clear or >> not. For this, I would first add Assert statement to ensure that the >> bit is clear and if it is, then set the statusbit as false indicating >> that the page is free. >> >> 2) In case if an overflow page is not new, first verify if it is >> really an overflow page and if so, check if the bit corresponding to >> it in the bitmap page is SET. If so, set the statusbit as true; If >> not, we would see an assertion failure happening. > > I think this is complicated and not what anybody wants. I think you > should do exactly what I said above: return true if the bit is set in > the bitmap, and false if it isn't. Full stop. Don't read or do > anything with the underlying page. Only read the bitmap page. >
Okay, As per the inputs from you, I have modified hash_bitmap_info() and have tried to keep the things simple. Attached is the patch that has this changes. Please have a look and let me know if you feel it is not yet in the right shape. Thanks.
simplify_hash_bitmap_info_pageinspect.patch
Description: application/download
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers