diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 0ce382e123..7ccfdc3aa9 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -6089,7 +6089,7 @@ exec_eval_simple_expr(PLpgSQL_execstate *estate, * to skip. */ oldcontext = MemoryContextSwitchTo(get_eval_mcontext(estate)); - need_snapshot = (expr->expr_simple_mutable && !estate->readonly_func); + need_snapshot = (expr->expr_simple_mutable || !estate->readonly_func); if (need_snapshot) { CommandCounterIncrement();