On Mon, Mar 5, 2012 at 3:15 PM, Merlin Moncure <mmonc...@gmail.com> wrote:
> I've complained many times that
> select (f()).*;
>
> will execute f() once for each returned field of f() since the server
> essentially expands that into:
>
> select f().a, f().b;
>

oh, this is why we expand rows inside a WITH statement.

it should probably be fixed, but you should find something like

WITH fn AS SELECT f(),
SELECT (fn).a, (fn).b

will make your life better

-- 
Peter van Hardenberg
San Francisco, California
"Everything was beautiful, and nothing hurt." -- Kurt Vonnegut

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to