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.
--Imad
www.EnterpriseDB.com
On 1/31/07, Bruce Momjian <bruce@momjian.us> wrote:
>
> URL added to TODO. (I didn't have URLs in there at the time).
>
> ---------------------------------------------------------------------------
>
> Tom Lane wrote:
> > imad <immaad@gmail.com> 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 majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
>
> --
> Bruce Momjian bruce@momjian.us
> EnterpriseDB http://www.enterprisedb.com
>
> + If your life is a hard drive, Christ can be your backup. +
>