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

Function ExecParallelReInitializeDSM

src/backend/executor/execParallel.c:949–1012  ·  view source on GitHub ↗

* Traverse plan tree to reinitialize per-node dynamic shared memory state */

Source from the content-addressed store, hash-verified

947 * Traverse plan tree to reinitialize per-node dynamic shared memory state
948 */
949static bool
950ExecParallelReInitializeDSM(PlanState *planstate,
951 ParallelContext *pcxt)
952{
953 if (planstate == NULL)
954 return false;
955
956 /*
957 * Call reinitializers for DSM-using plan nodes.
958 */
959 switch (nodeTag(planstate))
960 {
961 case T_SeqScanState:
962 if (planstate->plan->parallel_aware)
963 ExecSeqScanReInitializeDSM((SeqScanState *) planstate,
964 pcxt);
965 break;
966 case T_IndexScanState:
967 if (planstate->plan->parallel_aware)
968 ExecIndexScanReInitializeDSM((IndexScanState *) planstate,
969 pcxt);
970 break;
971 case T_IndexOnlyScanState:
972 if (planstate->plan->parallel_aware)
973 ExecIndexOnlyScanReInitializeDSM((IndexOnlyScanState *) planstate,
974 pcxt);
975 break;
976 case T_ForeignScanState:
977 if (planstate->plan->parallel_aware)
978 ExecForeignScanReInitializeDSM((ForeignScanState *) planstate,
979 pcxt);
980 break;
981 case T_AppendState:
982 if (planstate->plan->parallel_aware)
983 ExecAppendReInitializeDSM((AppendState *) planstate, pcxt);
984 break;
985 case T_CustomScanState:
986 if (planstate->plan->parallel_aware)
987 ExecCustomScanReInitializeDSM((CustomScanState *) planstate,
988 pcxt);
989 break;
990 case T_BitmapHeapScanState:
991 if (planstate->plan->parallel_aware)
992 ExecBitmapHeapReInitializeDSM((BitmapHeapScanState *) planstate,
993 pcxt);
994 break;
995 case T_HashJoinState:
996 if (planstate->plan->parallel_aware)
997 ExecHashJoinReInitializeDSM((HashJoinState *) planstate,
998 pcxt);
999 break;
1000 case T_HashState:
1001 case T_SortState:
1002 case T_IncrementalSortState:
1003 case T_MemoizeState:
1004 /* these nodes have DSM state, but no reinitialization is required */
1005 break;
1006

Callers 1

ExecParallelReinitializeFunction · 0.85

Tested by

no test coverage detected