aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/optimizer/prep/prepsecurity.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/optimizer/prep/prepsecurity.c b/src/backend/optimizer/prep/prepsecurity.c
index dd7f9003a28..2420f97a219 100644
--- a/src/backend/optimizer/prep/prepsecurity.c
+++ b/src/backend/optimizer/prep/prepsecurity.c
@@ -398,7 +398,9 @@ security_barrier_replace_vars_walker(Node *node,
((Var *) tle->expr)->varcollid == var->varcollid)
{
/* Map the variable onto this subquery targetlist entry */
- var->varattno = attno;
+ var->varattno = var->varoattno = attno;
+ /* Mark this var as having been processed */
+ context->vars_processed = lappend(context->vars_processed, var);
return false;
}
}
@@ -444,7 +446,7 @@ security_barrier_replace_vars_walker(Node *node,
makeString(pstrdup(attname)));
/* Update the outer query's variable */
- var->varattno = attno;
+ var->varattno = var->varoattno = attno;
/* Remember this Var so that we don't process it again */
context->vars_processed = lappend(context->vars_processed, var);