| From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
|---|---|
| To: | Steve Prentice <prentice(at)cisco(dot)com> |
| Cc: | Merlin Moncure <mmoncure(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: plpgsql + named parameters |
| Date: | 2009-05-20 17:24:35 |
| Message-ID: | 162867790905201024h7473cbd4x5d591c057b4c58e1@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
2009/5/20 Steve Prentice <prentice(at)cisco(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Simon Riggs | 2009-05-20 18:51:09 | Feedback on writing extensible modules |
| Previous Message | Steve Prentice | 2009-05-20 16:57:44 | Re: plpgsql + named parameters |