> Posting a new version of the patches, with the following updates: > - Moved the update of glob->relationOIDs (i.e. addition of partition OIDs that > plan depends on, resulting from parallel-safety checks) from within > max_parallel_hazard() to set_plan_references(). > - Added an extra test for partition plan-cache invalidation. > - Simplified query_has_modifying_cte() temporary bug-fix. > - Added a comment explaining why parallel-safety of partition column defaults > is not checked. > - Minor simplification: hasSubQuery return to > is_parallel_possible_for_modify().
Hi (I may be wrong here) I noticed that the patch does not have check for partial index(index predicate). It seems parallel index build will check it like the following: ---------- /* * Determine if it's safe to proceed. * * Currently, parallel workers can't access the leader's temporary tables. * Furthermore, any index predicate or index expressions must be parallel * safe. */ if (heap->rd_rel->relpersistence == RELPERSISTENCE_TEMP || !is_parallel_safe(root, (Node *) RelationGetIndexExpressions(index)) || !is_parallel_safe(root, (Node *) RelationGetIndexPredicate(index))) ---------- Should we do parallel safety check for it ? Best regards, houzj