Re: proposal for 8.3: Simultaneous assignment for PL/pgSQL

From: "Pavel Stehule" <pavel(dot)stehule(at)hotmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us, kleptog(at)svana(dot)org
Cc: andrew(at)dunslane(dot)net, pgsql-hackers(at)postgresql(dot)org
Subject: Re: proposal for 8.3: Simultaneous assignment for PL/pgSQL
Date: 2006-08-07 17:32:37
Message-ID: BAY20-F2301F636CDDADE6DF46DABF9570@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>
>Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> > Well, you can implement it. After all, the CALL syntax is merely
> > syntactic sugar. You could (if you wanted to) do the following:
>
> > CREATE FUNCTION foo( a TEXT IN, b TEXT INOUT, c TEXT OUT ) as blah...
>
> > And in a pl/pgsql function, translate: "CALL foo(a,b,c)"
> > into "(b,c) = foo(a,b)" internally.
>
>No, Pavel's right: that doesn't work because it's ambiguous. How do you
>tell whether "CALL foo(a,b,c)" means
>
> a,b,c := foo();
> b,c := foo(a);
> c := foo(a,b);
> select foo(a,b,c);
>
>There could be functions foo matching all four interpretations.

we can do some hints:

CALL foo(a, OUT b, OUT c)

it's better than nothing

comments?

Regards
Pavel Stehule

_________________________________________________________________
Citite se osamele? Poznejte nekoho vyjmecneho diky Match.com.
http://www.msn.cz/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-08-07 17:44:46 Re: "Constraint exclusion" is not general enough
Previous Message Rod Taylor 2006-08-07 17:32:18 Re: "Constraint exclusion" is not general enough