Re: PL/pgSQL RENAME bug?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Command Prompt, Inc(dot)" <pgsql-hackers(at)commandprompt(dot)com>
Cc: Hackers List <pgsql-hackers(at)postgresql(dot)org>, Jan Wieck <JanWieck(at)Yahoo(dot)com>
Subject: Re: PL/pgSQL RENAME bug?
Date: 2001-10-23 19:31:27
Message-ID: 6494.1003865487@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

"Command Prompt, Inc." <pgsql-hackers(at)commandprompt(dot)com> writes:
> Mainly, the existing documentation on the RENAME statement seems
> inaccurate; it states that you can re-name variables, records, or
> rowtypes. However, in practice, our tests show that attempting to RENAME
> valid variables with:
> RENAME varname TO newname;
> ...yeilds a PL/pgSQL parse error, inexplicably. If I try the same syntax
> on a non-declared variable, it actually says "there is no variable" with
> that name in the current block, so...I think something odd is happening. :)

Yup, this is a bug. The plpgsql grammar expects varname to be a T_WORD,
but in fact the scanner will only return T_WORD for a name that is not
any known variable name. Thus RENAME cannot possibly work, and probably
never has worked.

Looks like it should accept T_VARIABLE, T_RECORD, T_ROW (at least).
T_WORD ought to draw "no such variable". Jan, I think this is your turf...

> The RENAME statement seems kind of odd, since it seems that you could just
> as easily declare a general variable with the right name to begin with,

It seems pretty useless to me too. Perhaps it's there because Oracle
has one?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jani Averbach 2001-10-23 19:46:10 Re: Charset problem
Previous Message Markus Meyer 2001-10-23 18:44:44 Re: mail list headers

Browse pgsql-hackers by date

  From Date Subject
Next Message Roland Roberts 2001-10-23 20:22:13 Re: Is there no "DESCRIBE <TABLE>;" on PGSQL? help!!!
Previous Message Tom Lane 2001-10-23 19:14:14 Re: Index of a table is not used (in any case)