MCPcopy Create free account
hub / github.com/apache/cloudberry / InitializeGpParallelWorkers

Function InitializeGpParallelWorkers

src/backend/executor/execParallel.c:1562–1612  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1560}
1561
1562bool
1563InitializeGpParallelWorkers(PlanState *planstate, ParallelWorkerContext *pwcxt)
1564{
1565 if (planstate == NULL)
1566 return false;
1567 switch (nodeTag(planstate))
1568 {
1569 case T_MotionState:
1570 /*
1571 * If we walk to MotionStateNode with Recv Motion Type, we should return directly.
1572 * So that we can only Initialize Parallel Entry for current Slice.
1573 */
1574 if (((MotionState *) planstate)->mstype == MOTIONSTATE_RECV)
1575 return false;
1576 break;
1577 case T_SeqScanState:
1578 if (planstate->plan->parallel_aware)
1579 ExecSeqScanInitializeWorker((SeqScanState *) planstate, pwcxt);
1580 break;
1581 case T_IndexScanState:
1582 if (planstate->plan->parallel_aware)
1583 ExecIndexScanInitializeWorker((IndexScanState *) planstate,
1584 pwcxt);
1585 break;
1586 case T_IndexOnlyScanState:
1587 if (planstate->plan->parallel_aware)
1588 ExecIndexOnlyScanInitializeWorker((IndexOnlyScanState *) planstate,
1589 pwcxt);
1590 break;
1591 case T_BitmapHeapScanState:
1592 if (planstate->plan->parallel_aware)
1593 ExecBitmapHeapInitializeWorker((BitmapHeapScanState *) planstate, pwcxt);
1594 break;
1595 case T_AppendState:
1596 if (planstate->plan->parallel_aware)
1597 ExecAppendInitializeWorker((AppendState *) planstate, pwcxt);
1598 break;
1599 case T_HashState:
1600 break;
1601 case T_SortState:
1602 break;
1603 case T_HashJoinState:
1604 if (planstate->plan->parallel_aware)
1605 ExecHashJoinInitializeWorker((HashJoinState *) planstate, pwcxt);
1606 break;
1607 default:
1608 break;
1609 }
1610
1611 return planstate_tree_walker(planstate, InitializeGpParallelWorkers, pwcxt);
1612}
1613
1614bool
1615InitializeGpParallelDSMEntry(PlanState *planstate, ParallelContext *pctx)

Callers 1

GpInsertParallelDSMHashFunction · 0.85

Tested by

no test coverage detected