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

Function ExecParallelCreateReaders

src/backend/executor/execParallel.c:874–894  ·  view source on GitHub ↗

* Set up tuple queue readers to read the results of a parallel subplan. * * This is separate from ExecInitParallelPlan() because we can launch the * worker processes and let them start doing something before we do this. */

Source from the content-addressed store, hash-verified

872 * worker processes and let them start doing something before we do this.
873 */
874void
875ExecParallelCreateReaders(ParallelExecutorInfo *pei)
876{
877 int nworkers = pei->pcxt->nworkers_launched;
878 int i;
879
880 Assert(pei->reader == NULL);
881
882 if (nworkers > 0)
883 {
884 pei->reader = (TupleQueueReader **)
885 palloc(nworkers * sizeof(TupleQueueReader *));
886
887 for (i = 0; i < nworkers; i++)
888 {
889 shm_mq_set_handle(pei->tqueue[i],
890 pei->pcxt->worker[i].bgwhandle);
891 pei->reader[i] = CreateTupleQueueReader(pei->tqueue[i]);
892 }
893 }
894}
895
896/*
897 * Re-initialize the parallel executor shared memory state before launching

Callers 2

ExecGatherMergeFunction · 0.85
ExecGatherFunction · 0.85

Calls 3

shm_mq_set_handleFunction · 0.85
CreateTupleQueueReaderFunction · 0.85
pallocFunction · 0.50

Tested by

no test coverage detected