Re: [PATCH] 8.5 plpgsql change for named notation: treat word following AS keyword as label v3

From: Steve Prentice <prentice(at)cisco(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] 8.5 plpgsql change for named notation: treat word following AS keyword as label v3
Date: 2009-09-14 15:02:31
Message-ID: 6B1D3BCA-1D65-42A0-9696-38B8FC5C7DD5@cisco.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sep 13, 2009, at 10:22 PM, Pavel Stehule wrote:

> 2009/9/14 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>>> So, I guess I'm sadly left feeling that we should probably reject
>>> this
>>> patch. Anyone want to argue otherwise?
>>
>> +1. I'm really hoping to get something done about the plpgsql
>> parsing
>> situation before 8.5 is out, so this should be a dead end anyway.
>>
>
> I have a WIP patch for integration main SQL parser to plpgsql. I'll
> send it to this weekend.

I certainly don't mind the patch getting rejected and agree that
refactoring the plpgsql parser is probably the best approach to this
issue. However, I think it would be more than a little strange to ship
the named notation feature without a solution for this problem. For
reference, the problem is that the function below causes a compile
error because of the way plpgsql blindly does variable replacement:

create function fun1(pDisplayName text) returns void as $$
begin
perform fun2(pDisplayName as pDisplayName);
-- Above line compiles as:
-- SELECT fun2( $1 as $1 )
end
$$ language plpgsql;

-Steve

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Janes 2009-09-14 15:08:27 Re: Patch LWlocks instrumentation
Previous Message Sam Mason 2009-09-14 14:48:49 Re: BUG #5053: domain constraints still leak