summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-09-20 01:53:32 +0000
committerTom Lane2009-09-20 01:53:32 +0000
commit59713cfe5e4c4c894317696e9cf2d71808df8371 (patch)
tree8715859a558e3d028446e2560c81545ddb4285d1
parent1c786136691c919ae073cb1e5c9fa1cc6a96a3fb (diff)
Allow plpgsql IN parameters to be assigned to. Since the parameters are just
preinitialized local variables, this does not affect the function's semantics as seen by callers; allowing assignment simply avoids the need to create more local variables in some cases. In any case we were being rather inconsistent since only scalar parameters were getting marked constant. No documentation change, since parameters were never documented as being marked constant anyway. Steve Prentice
-rw-r--r--src/pl/plpgsql/src/pl_comp.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 028013f860..1bec949b8f 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -424,10 +424,6 @@ do_compile(FunctionCallInfo fcinfo,
if (argvariable->dtype == PLPGSQL_DTYPE_VAR)
{
argitemtype = PLPGSQL_NSTYPE_VAR;
- /* input argument vars are forced to be CONSTANT */
- if (argmode == PROARGMODE_IN ||
- argmode == PROARGMODE_VARIADIC)
- ((PLpgSQL_var *) argvariable)->isconst = true;
}
else
{