> 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


Reply via email to