Re: pageinspect and hash indexes

From: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pageinspect and hash indexes
Date: 2017-03-24 19:44:24
Message-ID: CAE9k0P=e=nT5Dscc93EnYbNmQNn-nJr1k43vm-xkQzOBKDzQjw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>> Thanks for reviewing my patch. I have removed the extra white space.
>>>> Attached are both the patches.
>>>
>>> Sorry, I have mistakenly attached wrong patch. Here are the correct
>>> set of patches.
>>
>> The latest version of patches looks fine to me.
>
> I don't really like 0002. What about this, instead?
>
> --- a/contrib/pageinspect/hashfuncs.c
> +++ b/contrib/pageinspect/hashfuncs.c
> @@ -80,7 +80,8 @@ verify_hash_page(bytea *raw_page, int flags)
> /* Check that page type is sane. */
> pagetype = pageopaque->hasho_flag & LH_PAGE_TYPE;
> if (pagetype != LH_OVERFLOW_PAGE && pagetype != LH_BUCKET_PAGE &&
> - pagetype != LH_BITMAP_PAGE && pagetype != LH_META_PAGE)
> + pagetype != LH_BITMAP_PAGE && pagetype != LH_META_PAGE &&
> + pagetype != LH_UNUSED_PAGE)
> ereport(ERROR,
> (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
> errmsg("invalid hash page type %08x", pagetype)));
>
> The advantage of that is (1) it won't get confused if in the future we
> have an unused page that has some flag bit not in LH_PAGE_TYPE set,
> and (2) if in the future we want to add any other checks to this
> function which should apply to unused pages also, they won't get
> bypassed by an early return statement.

Agreed. Moreover, previous approach might even change the current
behaviour of functions like hash_page_items() and hash_page_stats()
basically when we pass UNUSED pages to these functions. Attached is
the newer version of patch.

Attachment Content-Type Size
0001-Allow-pageinspect-to-handle-UNUSED-hash-pages-v3.patch application/x-patch 1003 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Khandekar 2017-03-24 20:04:35 Re: UPDATE of partition key
Previous Message Tom Lane 2017-03-24 19:43:30 Re: Re: [COMMITTERS] pgsql: Implement multivariate n-distinct coefficients