plpgsql + named parameters
От | Steve Prentice |
---|---|
Тема | plpgsql + named parameters |
Дата | |
Msg-id | 23C802EC-965D-494E-BE2F-39D604A51785@cisco.com обсуждение исходный текст |
Ответы |
Re: plpgsql + named parameters
|
Список | pgsql-hackers |
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 $$ DECLAREt INT; BEGINt := fun1(1 as a); -- syntax error: "SELECT fun1(1 as $1 )"t := fun1(a as a); -- syntax error: "SELECT fun1($1 as $1 )"RETURN 0; END; $$ LANGUAGE plpgsql; I would think this would be a very common scenario where one function calls another similar function that has similar parameter names. Am I missing something or are there any obvious solutions to this? Pavel's patch: http://archives.postgresql.org/message-id/162867790903042341o477b115dtb6b351dd8ff758cc@mail.gmail.com Thanks, -Steve
В списке pgsql-hackers по дате отправления: