OK, so renaming does not work in the same block.
You can rename a vairable in a nested block and thats why it works for OLD/NEW.

BTW, what is the purpose behind it? Declaring a variable in a block
and quickly renaming it does not make sense to me.


On 1/31/07, Bruce Momjian <[EMAIL PROTECTED]> wrote:

URL added to TODO.  (I didn't have URLs in there at the time).


Tom Lane wrote:
> imad <[EMAIL PROTECTED]> writes:
> > "Fix RENAME to work on variables other than OLD/NEW"
> > I can rename just any variable declared in a PL block apart from
> > OLD/NEW. Is the TODOs list out of sync or I am missing the point here?
> Really?  It looks pretty broken to me still:
> regression=# create function foo() returns int as $$
> regression$# declare
> regression$#   x int := 1;
> regression$#   rename x to y;
> regression$# begin
> regression$#   return y;
> regression$# end;$$ language plpgsql;
> ERROR:  syntax error at or near "x"
> LINE 4:   rename x to y;
>                  ^
> See old discussion here:
> http://archives.postgresql.org/pgsql-hackers/2002-03/msg00591.php
>                       regards, tom lane
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to [EMAIL PROTECTED] so that your
>        message can get through to the mailing list cleanly

  Bruce Momjian   [EMAIL PROTECTED]
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to