diff options
Diffstat (limited to 'src/backend/executor/execExpr.c')
-rw-r--r-- | src/backend/executor/execExpr.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index e4a6c20ed02..e4e05753eee 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -1200,12 +1200,12 @@ ExecInitExprRec(Expr *node, ExprState *state, * field's values[]/nulls[] entries as both the caseval * source and the result address for this subexpression. * That's okay only because (1) both FieldStore and - * ArrayRef evaluate their arg or refexpr inputs first, - * and (2) any such CaseTestExpr is directly the arg or - * refexpr input. So any read of the caseval will occur - * before there's a chance to overwrite it. Also, if - * multiple entries in the newvals/fieldnums lists target - * the same field, they'll effectively be applied + * SubscriptingRef evaluate their arg or refexpr inputs + * first, and (2) any such CaseTestExpr is directly the + * arg or refexpr input. So any read of the caseval will + * occur before there's a chance to overwrite it. Also, + * if multiple entries in the newvals/fieldnums lists + * target the same field, they'll effectively be applied * left-to-right which is what we want. */ save_innermost_caseval = state->innermost_caseval; |