On Thu, Jul 30, 2009 at 4:37 PM, Steve Prentice<prentice@cisco.com> wrote:
> Since I didn't get completely shot out of the water and a couple people
> seemed to think it was helpful, I'm submitting this patch for consideration
> in the next commitfest.
>
> This patch changes plpgsql IN parameters so they are mutable. Previously,
> they were being forced constant. This patch modifies the plpgsql.sql
> regression test and corresponding .out file. The regression test also makes
> sure the passed in parameter does not get changed in the calling function.
>
> I decided not to update the docs for this change because the docs don't
> currently indicate that an IN parameter is constant and I didn't want to
> encourage it because it isn't universally considered good programming
> practice to assign to an IN parameter. If others think we need a doc change
> for this, I'll update the patch.
>
> The following function will compile with this patch:
>
> create or replace function param_assign_test(a int, val int) returns void
> as $$
> begin
> a := val;
> end
> $$ language plpgsql;
>
> This function would have failed to compile previously.
We're in the middle of a CommitFest right now for which the deadline
for submissions was 2009-07-14. Please go to
https://commitfest.postgresql.org/action/commitfest_view/open and add
your patch there.
Thanks,
...Robert