From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Rahila Syed <rahilasyed(dot)90(at)gmail(dot)com> |
Subject: | Re: Parallel Index Scans |
Date: | 2017-02-14 20:34:19 |
Message-ID: | CA+TgmoZ+OAzxv_CHLE3Bpg4XR10tqgBHkpjMEPOhRO7wNOvVjQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Feb 14, 2017 at 12:48 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> That sounds way better.
Here's an updated patch. Please review my changes, which include:
* Various comment updates.
* _bt_parallel_seize now unconditionally sets *pageno to P_NONE at the
beginning, instead of doing it conditionally at the end. This seems
cleaner to me.
* I removed various BTScanPosInvalidate calls from _bt_first in places
where they followed calls to _bt_parallel_done, because I can't see
how the scan position could be valid at that point; note that
_bt_first asserts that it is invalid on entry.
* I added a _bt_parallel_done() call to _bt_first where it apparently
returned without releasing the scan; search for SK_ROW_MEMBER. Maybe
there's something I'm missing that makes this unnecessary, but if so
there should probably be a comment here.
* I wasn't happy with the strange calling convention where
_bt_readnextpage usually gets a valid block number but not for
non-parallel backward scans. I had a stab at fixing that so that the
block number is always valid, but I'm not entirely sure I've got the
logic right. Please see what you think.
* I repositioned the function prototypes you added to nbtree.h to
separate the public and non-public interfaces.
I can't easily test this because your second patch doesn't apply, so
I'd appreciate it if you could have a stab at checking whether I've
broken anything in this revision. Also, it would be good if you could
rebase the second patch.
I think this is pretty close to committable at this point. Whether or
not I broke anything in this revision, I don't think there's too much
left to be done here.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment | Content-Type | Size |
---|---|---|
parallel_index_scan_v9.patch | application/octet-stream | 26.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Jim Nasby | 2017-02-14 20:35:03 | Re: Official adoption of PGXN |
Previous Message | Jim Nasby | 2017-02-14 20:29:56 | Re: possibility to specify template database for pg_regress |