On Thu, Feb 4, 2016 at 11:55 AM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > A query with FOR UPDATE/SHARE will be considered parallel unsafe in > has_parallel_hazard_walker() and root->glob->parallelModeOK will be marked > false. This implies that none of the base relations and hence join relations > will be marked as consider_parallel. IIUC your logic, none of the queries > with FOR UPDATE/SHARE will get a local path which is marked parallel_safe > and thus join will not be pushed down. Why do you think we need to skip > paths that aren't parallel_safe? I have left aside this change in the latest > patches.
I changed this back before committing but, ah nuts, you're right. Sigh. Sorry.
I have corrected this in this set of patches. Also, I have included the change to build the join relation description while constructing fpinfo in the main patch since that avoids repeated building of the same at a small cost of constructing relation name for base relations, which goes waste if that relation is not going to be part of any pushable join tree.
Ran pgindent as well.
--
Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company