Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id B81796329CF for ; Fri, 3 Sep 2010 06:39:59 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 76926-07 for ; Fri, 3 Sep 2010 09:39:51 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wy0-f174.google.com (mail-wy0-f174.google.com [74.125.82.174]) by mail.postgresql.org (Postfix) with ESMTP id 10F4A63267E for ; Fri, 3 Sep 2010 06:39:51 -0300 (ADT) Received: by wyb35 with SMTP id 35so47811wyb.19 for ; Fri, 03 Sep 2010 02:39:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:x-enigmail-version:content-type; bh=Fven/4uBXmPK6V00RiVTTHA5CrPk1wgY5JrRfn+GUFc=; b=B2tJ6PDVVDb+Ozqr7dr/NoiKpVWbJ8KjUu4J12CsC2/KKv706JeTPGfoShf9NiTlMb BoEhm//kG3oziwDlulrLwrNl+A8qNBHsbuAqkRdaElxIhrdeS+IaC4/5iBkv4WRJ9DTm 9Z8T4THPoC6XLEgSGnrc4RbRVUZW5aTJx6tuk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; b=AmyieQfZCirRNbQAmiak+dkVEOmg87H9E3d0rTn2u+4kssg64UYQWZ9lWyQUfXYRY/ PhaHhyuvy0OtyFs69PA9gtwjoQb8r7tvZOJclq1Mw+TqGFtkShLW7zvku/96CYZDbTzI 6NaeHazkokKL/Ep7w4mlikO9J5TzGfVXSrH5U= Received: by 10.227.147.82 with SMTP id k18mr431370wbv.64.1283506789389; Fri, 03 Sep 2010 02:39:49 -0700 (PDT) Received: from [172.16.24.175] (tourevo.towerbyte.iks-jena.de [217.17.196.250]) by mx.google.com with ESMTPS id w31sm1341422wbd.9.2010.09.03.02.39.48 (version=SSLv3 cipher=RC4-MD5); Fri, 03 Sep 2010 02:39:48 -0700 (PDT) Message-ID: <4C80C282.700@gmail.com> Date: Fri, 03 Sep 2010 11:40:18 +0200 From: Tim Schumacher User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2 MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: Generating Rows from a date and a duration X-Enigmail-Version: 1.1.1 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigD64EE0AB719BD862B1EEEE38" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.89 tagged_above=-5 required=5 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_FRT_BELOW2=0.01 X-Spam-Level: X-Archive-Number: 201009/8 X-Sequence-Number: 34539 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigD64EE0AB719BD862B1EEEE38 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi List, I'm kinda stuck situation, I have a timestamp which resambles a startdate and a duration in days and I want to bloat this, so I have a row for every day beginning from the startdate. I have created an example bellow, maybe I'm doing it on the wrong angle and you can come up with some better ideas: BEGIN TRANSACTION; CREATE TABLE example ( id serial NOT NULL, startdate timestamp without time zone, duration int_unsigned NOT NULL, CONSTRAINT pq_example_id PRIMARY KEY (id) ) WITH (OIDS=3DFALSE) ; insert into example(id,startdate,duration) values (1,'2010-09-03',4); insert into example(id,startdate,duration) values (2,'2010-09-03',6); CREATE OR REPLACE FUNCTION bloat_duration(IN id integer, IN startdate timestamp without time zone, IN duration integer, OUT id integer, OUT duration_date date) RETURNS SETOF RECORD AS $$ BEGIN RETURN QUERY SELECT id,to_date(to_char(startdate,'YYYY-MM-DD'),'YYYY-MM-DD')+s.a AS stockdate FROM generate_series(0,duration-1) AS s(a); END; $$ LANGUAGE 'plpgsql'; -- This works, but not what I want SELECT * FROM bloat_duration(1,'2010-09-03',4); -- This does not work SELECT * FROM example AS ex INNER JOIN bloat_duration(ex.id,ex.startdate,ex.duration) AS bd ON bd.id =3D ex.id ROLLBACK TRANSACTION; greetings Tim --------------enigD64EE0AB719BD862B1EEEE38 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJMgMKCAAoJEAd0ByWoPc27S9QP/2X5Klh2tYGwkMlW6dphcMeq 64TRscqZ4OgvSGuU/ZnYpZnXwe66rr0EZeP9VobDY7ZMXmsj+qAdvxCfNxVIaLvx 5NQU45GjomBfi7ppHUUTWnIr0A/V/nwtrd+s6pjSgAxq7fEV/T9mWnAM4UPYRaSD v6lwi0jB5czpgP8Mvf640gzohmFKI7AcU3qONfXo9CsqVXPa7ZzkyqUtLWlqOeuG qQTPg1YYu00TJ1bkeKH7Cviq7kyTG/1P+MZxJIlVHBqPfNkEROaaMjf8PoACyyRv YX2PCipELR8mGJBto6Xc7u7oKuhLjAoH5L1vkFIPDxFfSOSXNEdGk3BfxqJeX6DI mHsT7wTgLfy10x6o0zc+WE0ZTfjSFRQHAeB1LwS5S0K5agDyxDlEUp9OReCT8QaC uCiVL8ro8HCgHqTEtBpu4LAnOcxPbVPfNbodroCGFnd0n52LGCorxdi4oi0QIP9r KmrImi64FuB7vpESiWjasuqael/Po5bHkNjwafoGVretP07xcjdQ7A+VvX/f04Gm Nh1jXfDPjeStjpnoUu5VQYxlt63qaJau7pc/DGOH39gXjzLTEeSG5McGniq1fsVg QY/Hs1qDK3G1iI0lyX7OiNEIkWVpol42YRu0dh6FHgUYd/DPmPhuKEV7SjRd4UgA sVfpa0XeI7trem6XDesk =UaKi -----END PGP SIGNATURE----- --------------enigD64EE0AB719BD862B1EEEE38--