diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-09-20 01:53:32 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-09-20 01:53:32 +0000 |
commit | 0f427dfe5ae26f4b792f4f0b8d235dd60a1d144f (patch) | |
tree | 42d2e74d77701f39baf1747461fa4fa7b0195861 /src | |
parent | 94f238cf1a51308c2377ddcd63ecc447ecb94a68 (diff) | |
download | postgresql-0f427dfe5ae26f4b792f4f0b8d235dd60a1d144f.tar.gz postgresql-0f427dfe5ae26f4b792f4f0b8d235dd60a1d144f.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/pl/plpgsql/src/pl_comp.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index 1b501d52f16..c589aa1994d 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.137 2009/07/12 17:12:34 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.138 2009/09/20 01:53:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -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 { |