Re: [HACKERS] pageinspect: Hash index support
От | Amit Kapila |
---|---|
Тема | Re: [HACKERS] pageinspect: Hash index support |
Дата | |
Msg-id | CAA4eK1JEaUzifpvaRPMjB9waisdLR+TjD3pu0QW+QpFxW=Q1tw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] pageinspect: Hash index support (Ashutosh Sharma <ashu.coek88@gmail.com>) |
Ответы |
Re: [HACKERS] pageinspect: Hash index support
|
Список | pgsql-hackers |
On Wed, Jan 18, 2017 at 3:24 PM, Ashutosh Sharma <ashu.coek88@gmail.com> wrote: > >> 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()? >> > > Yes, there are two reasons behind it. > > Firstly, we need metapage to identify the bitmap page that holds the > information about the overflow page passed as an input to this > function. > Okay, for that probably index oid is sufficient. > Secondly, we will have to input overflow block number as an input to > this function so as to determine the overflow bit number which can be > used further to identify the bitmap page. > I think you can get that from bucket number by using BUCKET_TO_BLKNO. You can get bucket number from page's opaque data. So, if we follow that then you can have a prototype of a function as hash_bitmap_info(index_oid, page bytea) which will be quite similar to other API's exposed by this module. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: