From: | Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> |
---|---|
To: | Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pageinspect: Hash index support |
Date: | 2017-02-21 09:44:37 |
Message-ID: | CAE9k0PnKFEk+nFQU+fCDpiNf0VZzFSskK-vozFEBzVbt7Mw6Sw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thanks for reporting it. This is because of incorrect data typecasting.
Attached is the patch that fixes this issue.
On Tue, Feb 21, 2017 at 2:58 PM, Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>
wrote:
> On Fri, Feb 10, 2017 at 1:06 AM, Robert Haas <robertmhaas(at)gmail(dot)com>
> wrote:
>
> > Alright, committed with a little further hacking.
>
> I did pull the latest code, and tried
> Test:
> ====
> create table t1(t int);
> create index i1 on t1 using hash(t);
> insert into t1 select generate_series(1, 10000000);
>
> postgres=# SELECT spares FROM hash_metapage_info(get_raw_page('i1', 0));
> spares
> ------------------------------------------------------------
> ----------------
> {0,0,0,1,9,17,33,65,-127,1,1,0,1,-1,-1,-4,0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0}
>
> spares are showing negative numbers; I think the wrong type has been
> chosen, seems it is rounding at 127, spares are defined as following
> uint32 hashm_spares[HASH_MAX_SPLITPOINTS]; /* spare pages before each
> splitpoint */
>
> it should be always positive.
>
> --
> Thanks and Regards
> Mithun C Y
> EnterpriseDB: http://www.enterprisedb.com
>
Attachment | Content-Type | Size |
---|---|---|
typecast_fix.patch | invalid/octet-stream | 590 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Mithun Cy | 2017-02-21 09:58:55 | Re: [POC] A better way to expand hash indexes. |
Previous Message | Mithun Cy | 2017-02-21 09:28:11 | Re: pageinspect: Hash index support |