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

Function ExecParallelInitializeWorker

src/backend/executor/execParallel.c:1305–1378  ·  view source on GitHub ↗

* Initialize the PlanState and its descendants with the information * retrieved from shared memory. This has to be done once the PlanState * is allocated and initialized by executor; that is, after ExecutorStart(). */

Source from the content-addressed store, hash-verified

1303 * is allocated and initialized by executor; that is, after ExecutorStart().
1304 */
1305static bool
1306ExecParallelInitializeWorker(PlanState *planstate, ParallelWorkerContext *pwcxt)
1307{
1308 if (planstate == NULL)
1309 return false;
1310
1311 switch (nodeTag(planstate))
1312 {
1313 case T_SeqScanState:
1314 if (planstate->plan->parallel_aware)
1315 ExecSeqScanInitializeWorker((SeqScanState *) planstate, pwcxt);
1316 break;
1317 case T_IndexScanState:
1318 if (planstate->plan->parallel_aware)
1319 ExecIndexScanInitializeWorker((IndexScanState *) planstate,
1320 pwcxt);
1321 break;
1322 case T_IndexOnlyScanState:
1323 if (planstate->plan->parallel_aware)
1324 ExecIndexOnlyScanInitializeWorker((IndexOnlyScanState *) planstate,
1325 pwcxt);
1326 break;
1327 case T_ForeignScanState:
1328 if (planstate->plan->parallel_aware)
1329 ExecForeignScanInitializeWorker((ForeignScanState *) planstate,
1330 pwcxt);
1331 break;
1332 case T_AppendState:
1333 if (planstate->plan->parallel_aware)
1334 ExecAppendInitializeWorker((AppendState *) planstate, pwcxt);
1335 break;
1336 case T_CustomScanState:
1337 if (planstate->plan->parallel_aware)
1338 ExecCustomScanInitializeWorker((CustomScanState *) planstate,
1339 pwcxt);
1340 break;
1341 case T_BitmapHeapScanState:
1342 if (planstate->plan->parallel_aware)
1343 ExecBitmapHeapInitializeWorker((BitmapHeapScanState *) planstate,
1344 pwcxt);
1345 break;
1346 case T_HashJoinState:
1347 if (planstate->plan->parallel_aware)
1348 ExecHashJoinInitializeWorker((HashJoinState *) planstate,
1349 pwcxt);
1350 break;
1351 case T_HashState:
1352 /* even when not parallel-aware, for EXPLAIN ANALYZE */
1353 ExecHashInitializeWorker((HashState *) planstate, pwcxt);
1354 break;
1355 case T_SortState:
1356 /* even when not parallel-aware, for EXPLAIN ANALYZE */
1357 ExecSortInitializeWorker((SortState *) planstate, pwcxt);
1358 break;
1359 case T_IncrementalSortState:
1360 /* even when not parallel-aware, for EXPLAIN ANALYZE */
1361 ExecIncrementalSortInitializeWorker((IncrementalSortState *) planstate,
1362 pwcxt);

Callers 1

ParallelQueryMainFunction · 0.85

Tested by

no test coverage detected