I still don't know which is the bit that is syntactically not correct
 > that a column name is a qualified reference to the function's OUT
parameter or
 > that the function name is also a table alias
and the error message is not very helpful to find this out.

But I certainly l learned that I shouldn't do this anyway.
Thanks and regards.
Balazs


On Tue, Oct 13, 2009 at 3:04 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Balazs Klein <balazs.kl...@gmail.com> writes:
> > CREATE OR REPLACE FUNCTION instreq(OUT instreq_id integer)
> > ...
> > Select instreq.instreq_id From aaa instreq
>
> The problem that you've got here is that instreq.instreq_id is in fact
> a qualified reference to the function's OUT parameter.  We didn't
> support qualification of function parameter names in 8.1, but we do now.
>
> In general, I'd say that this is bad coding style.  Not only do you have
> an ambiguous use of "instreq_id" (is it a column reference or a
> parameter reference?), but the name "instreq" *also* has multiple
> possible referents in this function.  You'll save yourself a lot of
> headaches if you avoid that sort of thing.
>
>                        regards, tom lane
>

Reply via email to