plpgsql + named parameters

Поиск
Список
Период
Сортировка
От Steve Prentice
Тема plpgsql + named parameters
Дата
Msg-id 23C802EC-965D-494E-BE2F-39D604A51785@cisco.com
обсуждение исходный текст
Ответы Re: plpgsql + named parameters  (Merlin Moncure <mmoncure@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Adriano Lange
Дата:
Сообщение: Re: GEQO: ERX
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: plpgsql + named parameters