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.
>> > >> >
>> > >> > --
>> > >> > Alvaro Herrera
>> http://www.CommandPrompt.com/
>> > >> > The PostgreSQL Company - Command Prompt, Inc.
>> > >> >
>> > >>
>> > >
>> > >
>> > > --
>> > > Sent via pgsql-patches mailing list ([email protected])
>> > > To make changes to your subscription:
>> > > http://www.postgresql.org/mailpref/pgsql-patches
>> > >
>> > >
>> >
>>
>
--
Sent via pgsql-patches mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches