From: | Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> |
---|---|
To: | Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Page Scan Mode in Hash Index |
Date: | 2017-03-23 18:11:29 |
Message-ID: | CAE9k0P=yHTcwj2qX_Wa6Xs0BaZESH5hkPeV8OqgByKU4xGS=uQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Mar 23, 2017 at 8:29 PM, Jesper Pedersen
<jesper(dot)pedersen(at)redhat(dot)com> wrote:
> Hi,
>
> On 03/22/2017 09:32 AM, Ashutosh Sharma wrote:
>>
>> Done. Please refer to the attached v2 version of patch.
>>
>
> Thanks.
>
>>>> 1) 0001-Rewrite-hash-index-scans-to-work-a-page-at-a-time.patch: this
>>>> patch rewrites the hash index scan module to work in page-at-a-time
>>>> mode. It basically introduces two new functions-- _hash_readpage() and
>>>> _hash_saveitem(). The former is used to load all the qualifying tuples
>>>> from a target bucket or overflow page into an items array. The latter
>>>> one is used by _hash_readpage to save all the qualifying tuples found
>>>> in a page into an items array. Apart from that, this patch bascially
>>>> cleans _hash_first(), _hash_next and hashgettuple().
>>>>
>
> 0001v2:
>
> In hashgettuple() you can remove the 'currItem' and 'offnum' from the 'else'
> part, and do the assignment inside
>
> if (so->numKilled < MaxIndexTuplesPerPage)
>
> instead.
>
Done. Please have a look into the attached v3 patch.
>
> No new comments for 0002 and 0003.
okay. Thanks.
--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
0001-Rewrite-hash-index-scans-to-work-a-page-at-a-timev3.patch | application/x-patch | 23.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Mithun Cy | 2017-03-23 18:14:12 | Re: Patch: Write Amplification Reduction Method (WARM) |
Previous Message | Robert Haas | 2017-03-23 17:56:44 | Re: Enabling parallelism for queries coming from SQL or other PL functions |