From ee4ddcb38a0abfdb8f7302bbc332a1cb92888ed1 Mon Sep 17 00:00:00 2001 From: Stephen Frost Date: Sun, 1 Mar 2015 15:26:55 -0500 Subject: [PATCH] Fix targetRelation initializiation in prepsecurity In 6f9bd50eabb0a4960e94c83dac8855771c9f340d, we modified expand_security_quals() to tell expand_security_qual() about when the current RTE was the targetRelation. Unfortunately, that commit initialized the targetRelation variable used outside of the loop over the RTEs instead of at the start of it. This patch moves the variable and the initialization of it into the loop, where it should have been to begin with. Pointed out by Dean Rasheed. Back-patch to 9.4 as the original commit was. --- src/backend/optimizer/prep/prepsecurity.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/optimizer/prep/prepsecurity.c b/src/backend/optimizer/prep/prepsecurity.c index 08309538ff..b382f13504 100644 --- a/src/backend/optimizer/prep/prepsecurity.c +++ b/src/backend/optimizer/prep/prepsecurity.c @@ -63,7 +63,6 @@ expand_security_quals(PlannerInfo *root, List *tlist) Query *parse = root->parse; int rt_index; ListCell *cell; - bool targetRelation = false; /* * Process each RTE in the rtable list. @@ -74,7 +73,8 @@ expand_security_quals(PlannerInfo *root, List *tlist) rt_index = 0; foreach(cell, parse->rtable) { - RangeTblEntry *rte = (RangeTblEntry *) lfirst(cell); + bool targetRelation = false; + RangeTblEntry *rte = (RangeTblEntry *) lfirst(cell); rt_index++; -- 2.40.0