Re: plpgsql + named parameters
От | Merlin Moncure |
---|---|
Тема | Re: plpgsql + named parameters |
Дата | |
Msg-id | b42b73150905191842u61427ef4tdaed29389602f302@mail.gmail.com обсуждение исходный текст |
Ответ на | plpgsql + named parameters (Steve Prentice <prentice@cisco.com>) |
Ответы |
Re: plpgsql + named parameters
|
Список | pgsql-hackers |
On Tue, May 19, 2009 at 5:59 PM, Steve Prentice <prentice@cisco.com> wrote: > I followed the past discussions regarding the syntax for named parameters > and I am currently using Pavel Stehule's patch for named and mixed notation > on top of the 8.4 beta. > > It seems the way plpgsql substitutes $1, $2, etc for the parameters is going > to reduce the usefulness of this feature. Consider these two functions: > > CREATE FUNCTION fun1(a INT DEFAULT 1) RETURNS INT AS 'SELECT $1' LANGUAGE > SQL; > CREATE FUNCTION fun2(a INT) RETURNS INT AS $$ > DECLARE > t INT; > BEGIN > t := fun1(1 as a); -- syntax error: "SELECT fun1(1 as $1 )" > t := fun1(a as a); -- syntax error: "SELECT fun1( $1 as $1 )" you have a name conflict here...is it deliberate? I've learned the hard way to always, always prefix arguments and locals to plpgsql functions with '_'. Or are you trying to do something fancier? merlin
В списке pgsql-hackers по дате отправления: