From cba5c70b956810c61b3778f7041f92fbb8065acb Mon Sep 17 00:00:00 2001 From: David Rowley Date: Tue, 25 May 2021 12:50:22 +1200 Subject: Fix setrefs.c code for Result Cache nodes Result Cache, added in 9eacee2e6 neglected to properly adjust the plan references in setrefs.c. This could lead to the following error during EXPLAIN: ERROR: cannot decompile join alias var in plan tree Fix that. Bug: 17030 Reported-by: Hans Buschmann Discussion: https://postgr.es/m/17030-5844aecae42fe223@postgresql.org --- src/backend/optimizer/plan/setrefs.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/backend/optimizer/plan/setrefs.c') diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index 9f40ed77e64..61ccfd300b3 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -756,6 +756,12 @@ set_plan_refs(PlannerInfo *root, Plan *plan, int rtoffset) { ResultCache *rcplan = (ResultCache *) plan; + /* + * Result Cache does not evaluate its targetlist. It just + * uses the same targetlist from its outer subnode. + */ + set_dummy_tlist_references(plan, rtoffset); + rcplan->param_exprs = fix_scan_list(root, rcplan->param_exprs, rtoffset, NUM_EXEC_TLIST(plan)); -- cgit v1.2.3