Pass QueryEnvironment down to EvalPlanQual's EState.
authorThomas Munro
Tue, 9 Jul 2019 22:16:02 +0000 (10:16 +1200)
committerThomas Munro
Tue, 9 Jul 2019 22:16:02 +0000 (10:16 +1200)
Otherwise the executor can't see trigger transition tables during
EPQ evaluation.  Fixes bug #15900 and almost certainly also #15720.
Back-patch to 10, where trigger transition tables landed.

Author: Alex Aktsipetrov
Reviewed-by: Thomas Munro, Tom Lane
Discussion: https://postgr.es/m/15900-bc482754fe8d7415%40postgresql.org
Discussion: https://postgr.es/m/15720-38c2b29e5d720187%40postgresql.org

src/backend/executor/execMain.c

index bf7631276d9bddf50aec1f69ef808b4cd1b99bbe..c5a6fa0c05c8d9c0aeb81c41688c92921368c9cb 100644 (file)
@@ -3112,6 +3112,7 @@ EvalPlanQualStart(EPQState *epqstate, EState *parentestate, Plan *planTree)
    estate->es_snapshot = parentestate->es_snapshot;
    estate->es_crosscheck_snapshot = parentestate->es_crosscheck_snapshot;
    estate->es_range_table = parentestate->es_range_table;
+   estate->es_queryEnv = parentestate->es_queryEnv;
    estate->es_plannedstmt = parentestate->es_plannedstmt;
    estate->es_junkFilter = parentestate->es_junkFilter;
    estate->es_output_cid = parentestate->es_output_cid;