date range to set of dates expansion - Mailing list pgsql-sql

From Gary Stainburn
Subject date range to set of dates expansion
Date
Msg-id 201201190713.34333.gary.stainburn@ringways.co.uk
Whole thread Raw
List pgsql-sql
Hi,

How can I expand a date range in a table to a set of date records?

I have a table of availabilities thus:
 Column   |            Type             |                         Modifiers
-----------+-----------------------------+------------------------------------------------------------aid       |
integer                    | not null default 
 
nextval('availability_aid_seq'::regclass)asid      | integer                     | not nullasdate    | date
          | not nullafdate    | date                        | not nulladays     | integer
|acomments| text                        |
 


asdate is the start date
afdate is the finish date

How can I expand this to a set of
 Column   |            Type             |                         Modifiers
-----------+-----------------------------+------------------------------------------------------------aid       |
integer                    | not null asid      | integer                     | not nulladate    | date
      | not nullacomments | text                        |
 

i.e.
aid | asid |   asdate   |   afdate   | adays |      acomments
-----+------+------------+------------+-------+-------------------- 12 |    1 | 2007-08-11 | 2007-08-12 |     1 | Early
finishSunday
 

Becomes
aid | asid |   asdate   |      acomments
-----+------+------------+-------------------- 12 |    1 | 2007-08-11 | Early finish Sunday 12 |    1 | 2007-08-12 |
Earlyfinish Sunday
 

I have a function date_range to return a set of dates, but so far I can't get 
a valid view to work.

Also, is there a better method?

CREATE FUNCTION date_range(fdate date, tdate date) RETURNS SETOF date   AS $$
DECLARE wdate date;
BEGIN return next fdate; wdate:=fdate+1; while wdate <= tdate LOOP   return next wdate;   wdate:=wdate+1; end LOOP;
return;
END;
$$   LANGUAGE plpgsql;

-- 
Gary Stainburn
Group I.T. Manager
Ringways Garages
http://www.ringways.co.uk 


pgsql-sql by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: PostgreSQL Function
Next
From: hari.fuchs@gmail.com
Date:
Subject: Re: date range to set of dates expansion