On Wed, Mar 8, 2017 at 12:27 AM, Robert Haas <robertmh...@gmail.com> wrote: > Amit, Rafia, > > nodeIndexscan.c, unlike nodeSeqscan.c, thinks that a parallel-aware > scan will always be executed in parallel mode. But that's not true: > an Execute message with a non-zero row count could cause us to abandon > planned parallelism and execute the plan serially. >
Right, and the current code had assumed that if there is a parallel plan then it will always enter the parallel mode. I think the fix is quite similar to what we do in nodeSeqscan.c i.e. initialize the scan descriptor before starting the scan if it is not already initialized. There is an additional check required for ensuring if index runtime keys are ready before calling index_rescan. Attached patch fixes the problem. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
fix_scandesc_initialization_parallel_index_v1.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers