Re: [PATCHES] temporal version of generate_series()
2008/5/5 Tom Lane <[EMAIL PROTECTED]>: > Applied with some revisions --- > > I added a timestamptz version; it didn't seem very appropriate to have > only a timestamp version. > > You can't just pick a convenient-looking OID, you must use one that > the unused_oids script reports as free. I didn't know the unused_oids script. I'll try it next time. Thanks for many notices anyway. Hitoshi Harada -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
"H.Harada" <[EMAIL PROTECTED]> writes: > Here's the sync and updated patch. > It contains "strict" in catalog as well. Applied with some revisions --- I added a timestamptz version; it didn't seem very appropriate to have only a timestamp version. You can't just pick a convenient-looking OID, you must use one that the unused_oids script reports as free. There was no check for a zero step size. There was no documentation. regards, tom lane -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
2008/5/1 H. Harada <[EMAIL PROTECTED]>: > 2008/5/1 H. Harada <[EMAIL PROTECTED]>: >> 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: >> >> > Hello >> > >> > why you don't use polymorphic types? >> Ah, good idea. I didn't think we could fix the third argument to >> "interval" but "anyelement". >> For a temporal version, it's reasonable. > > I was thinking about it again. There are 3 points: > > a. It will get complicated in the function to resolve operator for > polymorphic types, including search for namespace and error (not > found) handling. yes, it's true; > b. Other temporal data types than timestamp is easy to be casted from > timestamp results. > c. In the integer version of generate_series also it is possible to > cast the results to other numerical types though harder to cast them > to temporal data types. > > So it would be better to keep current patch, isn't it? > I missing generator for date - casting from and to timestemp is little bit ugly - but polymorphic types in C isn't good idea, I see it. Regards Pavel Stehule > > postgres=# select generate_series('2008/05/01 20:00'::timestamp, > '2008/05/02 08:00'::timestamp > , '1 hour'::interval); > generate_series > - > 2008-05-01 20:00:00 > 2008-05-01 21:00:00 > 2008-05-01 22:00:00 > 2008-05-01 23:00:00 > 2008-05-02 00:00:00 > 2008-05-02 01:00:00 > 2008-05-02 02:00:00 > 2008-05-02 03:00:00 > 2008-05-02 04:00:00 > 2008-05-02 05:00:00 > 2008-05-02 06:00:00 > 2008-05-02 07:00:00 > 2008-05-02 08:00:00 > (13 rows) > > postgres=# select generate_series('2008/05/01 20:00'::timestamp, > '2008/05/02 08:00'::timestamp > , '1 hour'::interval)::time; > generate_series > - > 20:00:00 > 21:00:00 > 22:00:00 > 23:00:00 > 00:00:00 > 01:00:00 > 02:00:00 > 03:00:00 > 04:00:00 > 05:00:00 > 06:00:00 > 07:00:00 > 08:00:00 > (13 rows) > > postgres=# select generate_series('2008/05/01 20:00'::timestamp, > '2008/05/02 08:00'::timestamp > , '1 hour'::interval)::timestamptz; >generate_series > > 2008-05-01 20:00:00+09 > 2008-05-01 21:00:00+09 > 2008-05-01 22:00:00+09 > 2008-05-01 23:00:00+09 > 2008-05-02 00:00:00+09 > 2008-05-02 01:00:00+09 > 2008-05-02 02:00:00+09 > 2008-05-02 03:00:00+09 > 2008-05-02 04:00:00+09 > 2008-05-02 05:00:00+09 > 2008-05-02 06:00:00+09 > 2008-05-02 07:00:00+09 > 2008-05-02 08:00:00+09 > (13 rows) > > postgres=# select generate_series('2008/05/01 20:00'::timestamp, > '2008/05/02 08:00'::timestamp > , '1 hour'::interval)::date; > generate_series > - > 2008-05-01 > 2008-05-01 > 2008-05-01 > 2008-05-01 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > 2008-05-02 > (13 rows) > > > Hitoshi Harada > > 2008/5/1 H. Harada <[EMAIL PROTECTED]>: >> 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: >> >> > Hello >> > >> > why you don't use polymorphic types? >> Ah, good idea. I didn't think we could fix the third argument to >> "interval" but "anyelement". >> For a temporal version, it's reasonable. >> >> Also, the name "generate_time_series" is better than before? >> >> Hitoshi Harada >> >> >> 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: >> >> >> > Hello >> > >> > why you don't use polymorphic types? >> > >> > like: >> > >> > create or replace function generate_time_series(anyelement, >> > anyelement, interval, OUT result anyelement) >> > returns setof anyelement as $$ >> > begin >> > result := $1; >> > while (result <= $2) loop >> > return next; >> > result := result + $3; >> > end loop; >> > return; >> > end; >> > $$ language plpgsql; >> > >> > Regards >> > Pavel Stehule >> > >> > >> > >> > 2008/5/1 H. Harada <[EMAIL PROTECTED]>: >> > >> > >> > > Here's the sync and updated patch. >> > > It contains "strict" in catalog as well. >> > > >> > > Hitoshi Harada >> > > >> > > 2008/4/24 H. Harada <[EMAIL PROTECTED]>: >> > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: >> > >> >> > >> > H.Harada escribió: >> > >> > >> > >> > >> > >> > > # This is my first time to send a patch. If I did something >> wrong, I >> > >> > > appreciate your pointing me out. >> > >> > >> > >> > Brace positioning is off w.r.t. our conventions -- please fix >> that and >> > >> > resubmit. >> > >> >> > >> Here's updated version. Thanks for your advice. >> > >> >> > >> Hitoshi Harada >> > >> >> > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: >> > >> >> > >> >> > >> > H.Harada escribió: >> > >> > >> > >> > >> > >> > > # This is my first time to send a patch. If I did something >> wrong, I >> > >> > > appreciate your pointing me out. >> > >> > >> > >> > Brace positioning is off w.r.t. our conventions -- please fix >> that and >> > >> > resubmit. >> > >> > >> > >> > I have added this patch to the May commitfest. >> > >> > >> > >> > -- >>
Re: [PATCHES] temporal version of generate_series()
2008/5/1 H. Harada <[EMAIL PROTECTED]>: > 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: > > > Hello > > > > why you don't use polymorphic types? > Ah, good idea. I didn't think we could fix the third argument to > "interval" but "anyelement". > For a temporal version, it's reasonable. I was thinking about it again. There are 3 points: a. It will get complicated in the function to resolve operator for polymorphic types, including search for namespace and error (not found) handling. b. Other temporal data types than timestamp is easy to be casted from timestamp results. c. In the integer version of generate_series also it is possible to cast the results to other numerical types though harder to cast them to temporal data types. So it would be better to keep current patch, isn't it? postgres=# select generate_series('2008/05/01 20:00'::timestamp, '2008/05/02 08:00'::timestamp , '1 hour'::interval); generate_series - 2008-05-01 20:00:00 2008-05-01 21:00:00 2008-05-01 22:00:00 2008-05-01 23:00:00 2008-05-02 00:00:00 2008-05-02 01:00:00 2008-05-02 02:00:00 2008-05-02 03:00:00 2008-05-02 04:00:00 2008-05-02 05:00:00 2008-05-02 06:00:00 2008-05-02 07:00:00 2008-05-02 08:00:00 (13 rows) postgres=# select generate_series('2008/05/01 20:00'::timestamp, '2008/05/02 08:00'::timestamp , '1 hour'::interval)::time; generate_series - 20:00:00 21:00:00 22:00:00 23:00:00 00:00:00 01:00:00 02:00:00 03:00:00 04:00:00 05:00:00 06:00:00 07:00:00 08:00:00 (13 rows) postgres=# select generate_series('2008/05/01 20:00'::timestamp, '2008/05/02 08:00'::timestamp , '1 hour'::interval)::timestamptz; generate_series 2008-05-01 20:00:00+09 2008-05-01 21:00:00+09 2008-05-01 22:00:00+09 2008-05-01 23:00:00+09 2008-05-02 00:00:00+09 2008-05-02 01:00:00+09 2008-05-02 02:00:00+09 2008-05-02 03:00:00+09 2008-05-02 04:00:00+09 2008-05-02 05:00:00+09 2008-05-02 06:00:00+09 2008-05-02 07:00:00+09 2008-05-02 08:00:00+09 (13 rows) postgres=# select generate_series('2008/05/01 20:00'::timestamp, '2008/05/02 08:00'::timestamp , '1 hour'::interval)::date; generate_series - 2008-05-01 2008-05-01 2008-05-01 2008-05-01 2008-05-02 2008-05-02 2008-05-02 2008-05-02 2008-05-02 2008-05-02 2008-05-02 2008-05-02 2008-05-02 (13 rows) Hitoshi Harada 2008/5/1 H. Harada <[EMAIL PROTECTED]>: > 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: > > > Hello > > > > why you don't use polymorphic types? > Ah, good idea. I didn't think we could fix the third argument to > "interval" but "anyelement". > For a temporal version, it's reasonable. > > Also, the name "generate_time_series" is better than before? > > Hitoshi Harada > > > 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: > > > > Hello > > > > why you don't use polymorphic types? > > > > like: > > > > create or replace function generate_time_series(anyelement, > > anyelement, interval, OUT result anyelement) > > returns setof anyelement as $$ > > begin > > result := $1; > > while (result <= $2) loop > > return next; > > result := result + $3; > > end loop; > > return; > > end; > > $$ language plpgsql; > > > > Regards > > Pavel Stehule > > > > > > > > 2008/5/1 H. Harada <[EMAIL PROTECTED]>: > > > > > > > Here's the sync and updated patch. > > > It contains "strict" in catalog as well. > > > > > > Hitoshi Harada > > > > > > 2008/4/24 H. Harada <[EMAIL PROTECTED]>: > > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > > >> > > >> > H.Harada escribió: > > >> > > > >> > > > >> > > # This is my first time to send a patch. If I did something > wrong, I > > >> > > appreciate your pointing me out. > > >> > > > >> > Brace positioning is off w.r.t. our conventions -- please fix that > and > > >> > resubmit. > > >> > > >> Here's updated version. Thanks for your advice. > > >> > > >> Hitoshi Harada > > >> > > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > > >> > > >> > > >> > H.Harada escribió: > > >> > > > >> > > > >> > > # This is my first time to send a patch. If I did something > wrong, I > > >> > > appreciate your pointing me out. > > >> > > > >> > Brace positioning is off w.r.t. our conventions -- please fix that > and > > >> > resubmit. > > >> > > > >> > I have added this patch to the May commitfest. > > >> > > > >> > -- > > >> > Alvaro Herrera > http://www.CommandPrompt.com/ > > >> > The PostgreSQL Company - Command Prompt, Inc. > > >> > > > >> > > > > > > > > > -- > > > Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) > > > To make changes to your subscription: > > > http://www.postgresql.org/mailpref/pgsql-patches > > > > > > > > > -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subs
Re: [PATCHES] temporal version of generate_series()
2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: > Hello > > why you don't use polymorphic types? Ah, good idea. I didn't think we could fix the third argument to "interval" but "anyelement". For a temporal version, it's reasonable. Also, the name "generate_time_series" is better than before? Hitoshi Harada 2008/5/1 Pavel Stehule <[EMAIL PROTECTED]>: > Hello > > why you don't use polymorphic types? > > like: > > create or replace function generate_time_series(anyelement, > anyelement, interval, OUT result anyelement) > returns setof anyelement as $$ > begin > result := $1; > while (result <= $2) loop > return next; > result := result + $3; > end loop; > return; > end; > $$ language plpgsql; > > Regards > Pavel Stehule > > > > 2008/5/1 H. Harada <[EMAIL PROTECTED]>: > > > > Here's the sync and updated patch. > > It contains "strict" in catalog as well. > > > > Hitoshi Harada > > > > 2008/4/24 H. Harada <[EMAIL PROTECTED]>: > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > >> > >> > H.Harada escribió: > >> > > >> > > >> > > # This is my first time to send a patch. If I did something wrong, I > >> > > appreciate your pointing me out. > >> > > >> > Brace positioning is off w.r.t. our conventions -- please fix that and > >> > resubmit. > >> > >> Here's updated version. Thanks for your advice. > >> > >> Hitoshi Harada > >> > >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > >> > >> > >> > H.Harada escribió: > >> > > >> > > >> > > # This is my first time to send a patch. If I did something wrong, I > >> > > appreciate your pointing me out. > >> > > >> > Brace positioning is off w.r.t. our conventions -- please fix that and > >> > resubmit. > >> > > >> > I have added this patch to the May commitfest. > >> > > >> > -- > >> > Alvaro Herrera > http://www.CommandPrompt.com/ > >> > The PostgreSQL Company - Command Prompt, Inc. > >> > > >> > > > > > > -- > > Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) > > To make changes to your subscription: > > http://www.postgresql.org/mailpref/pgsql-patches > > > > > -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
Hello why you don't use polymorphic types? like: create or replace function generate_time_series(anyelement, anyelement, interval, OUT result anyelement) returns setof anyelement as $$ begin result := $1; while (result <= $2) loop return next; result := result + $3; end loop; return; end; $$ language plpgsql; Regards Pavel Stehule 2008/5/1 H. Harada <[EMAIL PROTECTED]>: > Here's the sync and updated patch. > It contains "strict" in catalog as well. > > Hitoshi Harada > > 2008/4/24 H. Harada <[EMAIL PROTECTED]>: >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: >> >> > H.Harada escribió: >> > >> > >> > > # This is my first time to send a patch. If I did something wrong, I >> > > appreciate your pointing me out. >> > >> > Brace positioning is off w.r.t. our conventions -- please fix that and >> > resubmit. >> >> Here's updated version. Thanks for your advice. >> >> Hitoshi Harada >> >> 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: >> >> >> > H.Harada escribió: >> > >> > >> > > # This is my first time to send a patch. If I did something wrong, I >> > > appreciate your pointing me out. >> > >> > Brace positioning is off w.r.t. our conventions -- please fix that and >> > resubmit. >> > >> > I have added this patch to the May commitfest. >> > >> > -- >> > Alvaro Herrera >> http://www.CommandPrompt.com/ >> > The PostgreSQL Company - Command Prompt, Inc. >> > >> > > > -- > Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-patches > > -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
Here's the sync and updated patch. It contains "strict" in catalog as well. Hitoshi Harada 2008/4/24 H. Harada <[EMAIL PROTECTED]>: > 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > > > H.Harada escribió: > > > > > > > # This is my first time to send a patch. If I did something wrong, I > > > appreciate your pointing me out. > > > > Brace positioning is off w.r.t. our conventions -- please fix that and > > resubmit. > > Here's updated version. Thanks for your advice. > > Hitoshi Harada > > 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > > > > H.Harada escribió: > > > > > > > # This is my first time to send a patch. If I did something wrong, I > > > appreciate your pointing me out. > > > > Brace positioning is off w.r.t. our conventions -- please fix that and > > resubmit. > > > > I have added this patch to the May commitfest. > > > > -- > > Alvaro Herrera > http://www.CommandPrompt.com/ > > The PostgreSQL Company - Command Prompt, Inc. > > > generate_series_timestamp.20080501.patch.gz Description: GNU Zip compressed data -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > H.Harada escribió: > > > > # This is my first time to send a patch. If I did something wrong, I > > appreciate your pointing me out. > > Brace positioning is off w.r.t. our conventions -- please fix that and > resubmit. Here's updated version. Thanks for your advice. Hitoshi Harada 2008/4/23 Alvaro Herrera <[EMAIL PROTECTED]>: > H.Harada escribió: > > > > # This is my first time to send a patch. If I did something wrong, I > > appreciate your pointing me out. > > Brace positioning is off w.r.t. our conventions -- please fix that and > resubmit. > > I have added this patch to the May commitfest. > > -- > Alvaro Herrerahttp://www.CommandPrompt.com/ > The PostgreSQL Company - Command Prompt, Inc. > generate_series_timestamp.20080424.patch.gz Description: GNU Zip compressed data -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches
Re: [PATCHES] temporal version of generate_series()
H.Harada escribió: > # This is my first time to send a patch. If I did something wrong, I > appreciate your pointing me out. Brace positioning is off w.r.t. our conventions -- please fix that and resubmit. I have added this patch to the May commitfest. -- Alvaro Herrerahttp://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches