Re: pageinspect and hash indexes

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: pageinspect and hash indexes
Дата
Msg-id CA+TgmoYWc+efRV4t+KOJ2925F1xH_tk4DYQ7iXVKpHSxDurFUA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] pageinspect and hash indexes  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On Fri, Mar 24, 2017 at 3:54 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Fri, Mar 24, 2017 at 9:50 AM, Ashutosh Sharma <ashu.coek88@gmail.com> wrote:
>> On Fri, Mar 24, 2017 at 9:46 AM, Ashutosh Sharma <ashu.coek88@gmail.com> wrote:
>>>
>>> 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.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Re: [COMMITTERS] pgsql: Implement multivariate n-distinct coefficients
Следующее
От: Corey Huinker
Дата:
Сообщение: Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless)