Problem with looping on a table function result - Mailing list pgsql-sql

From Alexander M. Pravking
Subject Problem with looping on a table function result
Date
Msg-id 20030731223233.GJ86626@dyatel.antar.bryansk.ru
Whole thread Raw
List pgsql-sql
I've met the following problem.
I had successfully written a function divide_into_days(timestamp, timestamp)
which returns setof (timestamp, timestamp) pairs - a list of days the
given interval is divided into.

What I want is to use each record from resultset to pass to another
function, something like:

SELECT    days.*, summary_stats(days.day_start, days.day_end)
FROM    divide_into_days('2003-06-01', '2003-07-01') days;

The problem is that summary_stats function returns a record, so I have
to use SELECT * FROM summary_stats(...). I can't use the following too:

SELECT    *
FROM    summary_stats(days.day_start, days.day_end) stats,divide_into_days('2003-06-01', '2003-07-01') days;

(there was a discussion a few days ago about using subselects,
but here's a slightly different case).

I wonder if where's a way to do the trick without writing one more
PL/PgSQL table function doing FOR row IN SELECT ... LOOP or using
client-side loop?

Thanks for your help.

-- 
Fduch M. Pravking


pgsql-sql by date:

Previous
From: Charles Hauser
Date:
Subject: RI_ConstraintTrigger_11264756
Next
From: teknokrat
Date:
Subject: converting interval to timestamp