PostgreSQL Source Code git master
|
#include "postgres.h"
#include "executor/execParallel.h"
#include "executor/executor.h"
#include "executor/nodeGather.h"
#include "executor/tqueue.h"
#include "miscadmin.h"
#include "optimizer/optimizer.h"
#include "utils/wait_event.h"
Go to the source code of this file.
Functions | |
static TupleTableSlot * | ExecGather (PlanState *pstate) |
static TupleTableSlot * | gather_getnext (GatherState *gatherstate) |
static MinimalTuple | gather_readnext (GatherState *gatherstate) |
static void | ExecShutdownGatherWorkers (GatherState *node) |
GatherState * | ExecInitGather (Gather *node, EState *estate, int eflags) |
void | ExecEndGather (GatherState *node) |
void | ExecShutdownGather (GatherState *node) |
void | ExecReScanGather (GatherState *node) |
void ExecEndGather | ( | GatherState * | node | ) |
Definition at line 251 of file nodeGather.c.
References ExecEndNode(), ExecShutdownGather(), and outerPlanState.
Referenced by ExecEndNode().
|
static |
Definition at line 137 of file nodeGather.c.
References castNode, CHECK_FOR_INTERRUPTS, ExprContext::ecxt_outertuple, EState::es_parallel_workers_launched, EState::es_parallel_workers_to_launch, EState::es_use_parallel_mode, ExecInitParallelPlan(), ExecParallelCreateReaders(), ExecParallelReinitialize(), ExecProject(), gather_getnext(), if(), GatherState::initialized, Gather::initParam, LaunchParallelWorkers(), GatherState::need_to_scan_locally, GatherState::nextreader, GatherState::nreaders, Gather::num_workers, ParallelContext::nworkers_launched, GatherState::nworkers_launched, ParallelContext::nworkers_to_launch, outerPlanState, palloc(), parallel_leader_participation, ParallelExecutorInfo::pcxt, GatherState::pei, PlanState::plan, GatherState::ps, PlanState::ps_ExprContext, PlanState::ps_ProjInfo, ParallelExecutorInfo::reader, GatherState::reader, ResetExprContext, Gather::single_copy, PlanState::state, TupIsNull, and GatherState::tuples_needed.
Referenced by ExecInitGather().
GatherState * ExecInitGather | ( | Gather * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 53 of file nodeGather.c.
References Assert, ExecAssignExprContext(), ExecConditionalAssignProjectionInfo(), ExecGather(), ExecGetResultType(), ExecInitExtraTupleSlot(), ExecInitNode(), ExecInitResultTypeTL(), PlanState::ExecProcNode, GatherState::funnel_slot, GatherState::initialized, innerPlan, makeNode, GatherState::need_to_scan_locally, OUTER_VAR, PlanState::outeropsfixed, PlanState::outeropsset, outerPlan, outerPlanState, parallel_leader_participation, PlanState::plan, Gather::plan, GatherState::ps, PlanState::ps_ProjInfo, Plan::qual, PlanState::resultopsfixed, PlanState::resultopsset, Gather::single_copy, PlanState::state, TTSOpsMinimalTuple, and GatherState::tuples_needed.
Referenced by ExecInitNode().
void ExecReScanGather | ( | GatherState * | node | ) |
Definition at line 442 of file nodeGather.c.
References bms_add_member(), ExecReScan(), ExecShutdownGatherWorkers(), GatherState::initialized, outerPlan, outerPlanState, PlanState::plan, GatherState::ps, and Gather::rescan_param.
Referenced by ExecReScan().
void ExecShutdownGather | ( | GatherState * | node | ) |
Definition at line 418 of file nodeGather.c.
References ExecParallelCleanup(), ExecShutdownGatherWorkers(), and GatherState::pei.
Referenced by ExecEndGather(), and ExecShutdownNode_walker().
|
static |
Definition at line 400 of file nodeGather.c.
References ExecParallelFinish(), GatherState::pei, pfree(), and GatherState::reader.
Referenced by ExecReScanGather(), ExecShutdownGather(), and gather_readnext().
|
static |
Definition at line 263 of file nodeGather.c.
References ParallelExecutorInfo::area, CHECK_FOR_INTERRUPTS, EState::es_query_dsa, ExecClearTuple(), ExecProcNode(), ExecStoreMinimalTuple(), GatherState::funnel_slot, gather_readnext(), HeapTupleIsValid, GatherState::need_to_scan_locally, GatherState::nreaders, outerPlan, outerPlanState, GatherState::pei, GatherState::ps, PlanState::state, and TupIsNull.
Referenced by ExecGather().
|
static |
Definition at line 311 of file nodeGather.c.
References Assert, CHECK_FOR_INTERRUPTS, ExecShutdownGatherWorkers(), MyLatch, GatherState::need_to_scan_locally, GatherState::nextreader, GatherState::nreaders, GatherState::reader, ResetLatch(), TupleQueueReaderNext(), WaitLatch(), WL_EXIT_ON_PM_DEATH, and WL_LATCH_SET.
Referenced by gather_getnext().