diff options
Diffstat (limited to 'src/backend/executor/execParallel.c')
-rw-r--r-- | src/backend/executor/execParallel.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/executor/execParallel.c b/src/backend/executor/execParallel.c index 3f84c002dc1..8c53d1834e9 100644 --- a/src/backend/executor/execParallel.c +++ b/src/backend/executor/execParallel.c @@ -720,6 +720,13 @@ ExecInitParallelPlan(PlanState *planstate, EState *estate, shm_toc_estimate_chunk(&pcxt->estimator, dsa_minsize); shm_toc_estimate_keys(&pcxt->estimator, 1); + /* + * InitializeParallelDSM() passes the active snapshot to the parallel + * worker, which uses it to set es_snapshot. Make sure we don't set + * es_snapshot differently in the child. + */ + Assert(GetActiveSnapshot() == estate->es_snapshot); + /* Everyone's had a chance to ask for space, so now create the DSM. */ InitializeParallelDSM(pcxt); |