From: Tom Lane on
Robert Haas <robertmhaas(a)gmail.com> writes:
> While reviewing Pavel's patch for variable quoting in psql, I came
> upon the following comment in psqlscan.l:

> /*
> * The variable value is just emitted without any
> * further examination. This is consistent with the
> * pre-8.0 code behavior, if not with the way that
> * variables are handled outside backslash commands.
> */

> I cannot figure out for the life of me what this is referring to.

At the other place where :foo is expanded, the value is pushed for
re-scanning; thus for example ":bar" within the variable value
might be further expanded as a reference to some other variable.
Inside backslash commands we don't do that but just take the value
literally.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Robert Haas on
On Tue, Jan 26, 2010 at 2:12 PM, Tom Lane <tgl(a)sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas(a)gmail.com> writes:
>> While reviewing Pavel's patch for variable quoting in psql, I came
>> upon the following comment in psqlscan.l:
>
>>         /*
>>          * The variable value is just emitted without any
>>          * further examination.  This is consistent with the
>>          * pre-8.0 code behavior, if not with the way that
>>          * variables are handled outside backslash commands.
>>          */
>
>> I cannot figure out for the life of me what this is referring to.
>
> At the other place where :foo is expanded, the value is pushed for
> re-scanning; thus for example ":bar" within the variable value
> might be further expanded as a reference to some other variable.
> Inside backslash commands we don't do that but just take the value
> literally.

Ah, makes sense. Thanks.

....Robert

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers