Re: function with multiple return values

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Scott Serr <serrs(at)theserrs(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: function with multiple return values
Date: 2010-11-07 18:41:04
Message-ID: AANLkTimV5XM5Qp_oorc5zHV3XFGxP+zTBqdurRoyQLtM@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2010/11/7 Scott Serr <serrs(at)theserrs(dot)net>:
> On 11/07/2010 08:53 AM, Tom Lane wrote:
>>
>> Andreas Kretschmer<akretschmer(at)spamfence(dot)net>  writes:
>>>
>>> Scott Serr<serrs(at)theserrs(dot)net>  wrote:
>>>>
>>>> Ideas on how to uniquely name the first and second set of "perc,
>>>> entry_date"?
>>>
>>> You can use alias-names for the 2 queries, like:
>>> test=*# select foobar.a as x, foobar.b as y, bar.* from (select * from
>>> foo()) foobar, (select * from foo()) bar ;
>>
>> You don't really need the sub-selects: you can put aliases on functions
>> in FROM.
>>
>>        select * from foo(...) as f1(a,b), foo(...) as f2(x,y);
>>
>>                        regards, tom lane
>>
>
> Thanks Tom, Andreas, and Osvaldo...
>
> I've found I really need these on the Select part rather than the From.
>
> select otherstuff.*, foo(...) as f1(a,b), foo(...) as f2(x,y) from
> otherstuff;
> ...won't work.  It says:
>     subquery must return only one column
>
> Funny thing is
>   select (foo(...)).*, (foo(...)).*;
> ...works fine, just has duplicate column names, so they are hard to get at.

Attention: this syntax is great, but function is evaluated for every
column one times!

Regards

Pavel Stehule

>
> I modeled this after examples here
> http://www.postgresonline.com/journal/index.php?/archives/129-Use-of-OUT-and-INOUT-Parameters.html
>
> I really only want a single record back from my function, but the
> multi-record return looked easier. I need some kind of control of how the
> columns are named per call.
>
> Maybe this isn't possible...  not alot of docs in this area.
>
> Thanks,
> Scott
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Rob Brown-Bayliss 2010-11-07 18:45:56 Re: Libpq is very slow on windows but fast on linux.
Previous Message Scott Serr 2010-11-07 18:35:47 Re: function with multiple return values