On Thu, Feb 3, 2022 at 7:08 PM David Rowley <dgrowle...@gmail.com> wrote: > Currently, the patch validates 3 rules: > > 1) Ensure a parallel_aware path has only parallel_aware or > parallel_safe subpaths.
I think that every path that is parallel_aware must also be parallel_safe. So checking for either parallel_aware or parallel_safe should be equivalent to just checking parallel_safe, unless I am confused. I think the actual rule is: every path under a Gather or GatherMerge must be parallel-safe. I don't think there's any real rule about what has to be under parallel-aware paths -- except that it would have to be all parallel-safe stuff, because the whole thing is under a Gather (Merge). There may seem to be such a rule, but I suspect it's just an accident of whatever code we have now rather than anything intrinsic. > 2) Ensure Gather is either single_copy or contains at least one > parallel_aware subnode. I agree that this one is a rule which we could check. > 3) Ensure GatherMerge contains at least one parallel_aware subnode. This one, too. -- Robert Haas EDB: http://www.enterprisedb.com