On Fri, Jan 13, 2017 at 12:49 AM, Jesper Pedersen <jesper.peder...@redhat.com> wrote: > Hi, > > On 01/11/2017 03:16 PM, Ashutosh Sharma wrote: >> >> >> I have rephrased it to make it more clear. >> > > Rebased, and removed the compile warn in hashfuncs.c >
Review comments: 1. +static Page +verify_hash_page(bytea *raw_page, int flags) Few checks for meta page are missing, refer _hash_checkpage. 2. + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + (errmsg("must be superuser to use pageinspect functions")))); Isn't it better to use "raw page" instead of "pageinspect" in the above error message? If you agree, then fix other similar occurrences in the patch. 3. + values[j++] = CStringGetTextDatum(psprintf("(%u,%u)", + BlockIdGetBlockNumber(&(itup->t_tid.ip_blkid)), + itup->t_tid.ip_posid)); Fix indentation in the third line. 4. +Datum +hash_page_items(PG_FUNCTION_ARGS) +{ + bytea *raw_page = PG_GETARG_BYTEA_P(0); +Datum +hash_bitmap_info(PG_FUNCTION_ARGS) +{ + Oid indexRelid = PG_GETARG_OID(0); + uint32 ovflblkno = PG_GETARG_UINT32(1); Is there a reason for keeping the input arguments for hash_bitmap_info() different from hash_page_items()? 5. +hash_metapage_info(PG_FUNCTION_ARGS) { .. + spares = palloc0(HASH_MAX_SPLITPOINTS * 5 + 1); .. + mapp = palloc0(HASH_MAX_BITMAPS * 5 + 1); .. } Don't you think we should free the allocated memory in this function? Also, why are you 5 as a multiplier in both the above pallocs, shouldn't it be 4? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers