Re: plpgsql + named parameters

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: plpgsql + named parameters
Дата
Msg-id 162867790905201024h7473cbd4x5d591c057b4c58e1@mail.gmail.com
обсуждение исходный текст
Ответ на Re: plpgsql + named parameters  (Steve Prentice <prentice@cisco.com>)
Ответы Re: plpgsql + named parameters  (Steve Prentice <prentice@cisco.com>)
Список pgsql-hackers
2009/5/20 Steve Prentice <prentice@cisco.com>:
>        t := fun1(1 as a);      -- syntax error: "SELECT  fun1(1 as  $1 )"
>
>        t := fun1(a as a);      -- syntax error: "SELECT  fun1( $1  as  $1 )"
>
> On May 19, 2009, at 6:42 PM, Merlin Moncure wrote:
>
> 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?
>
> The conflict is deliberate to illustrate the limitations the named parameter
> feature (on the list for the first 8.5 CommitFest) is going to have if
> parameter substitution is not addressed at the same time.
> -Steve

this problem is little bit deeper and is related to plpgsql method for
SQL query processing.

I thing so there are two solutions:

a) use dynamic SQL
b) use double quotes for identifier - identifiers have to be lower

t := fun1(a as "a");

regards
Pavel Stehule


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Steve Prentice
Дата:
Сообщение: Re: plpgsql + named parameters
Следующее
От: Simon Riggs
Дата:
Сообщение: Feedback on writing extensible modules