Re: Procedure for feature requests? - Mailing list pgsql-general

From Tim Landscheidt
Subject Re: Procedure for feature requests?
Date
Msg-id m3ljjq671h.fsf@passepartout.tim-landscheidt.de
Whole thread Raw
In response to Procedure for feature requests?  (Tim Landscheidt <tim@tim-landscheidt.de>)
Responses Re: Procedure for feature requests?
List pgsql-general
Sam Mason <sam@samason.me.uk> wrote:

>> > 8.4 has a generate_series(timestamp,timestamp,interval) which would seem
>> > to be a bit more flexible than you want.

>> Yes, I know :-). But as "generate_series(A, B, C)" can also
>> be written as "A + generate_series(0, (C - B) / C) * C" (or
>> something "flexible" like that :-)), a

> For things as complicated as timestamps I'm not sure if this is such a
> trivial transform.  If you can figure out the limit then it seems easy,
> though I'm not sure how you'd do that.

What limit?

>> "generate_series(DATE, DATE)" would inter alia get rid off
>> the need to cast the result from TIMESTAMP to DATE and to
>> explicitly specify "'1 day'". Just a small, trivial enhance-
>> ment for a popular use case :-).

> Interesting, I tend to aim for maximum expressiveness not ease of
> expressiveness.  It would be somewhat easy to add the above if you want
> though:

>   CREATE FUNCTION generate_series(date,date)
>       RETURNS SETOF date
>       IMMUTABLE LANGUAGE sql AS $$
>     SELECT generate_series($1::timestamp,$2::timestamp,interval '1 day')::date;
>   $$;

> or I suppose you could use the integer series generation:

>   SELECT $1 + generate_series(0,$2 - $1);

If I didn't know that, I would not have characterized the
feature request as "trivial".

> Hum, now I'll have to see which is "better".

> That second version seems to be slightly quicker (20 to 30%, for ranges
> from a year up to a century respectively) so you may prefer it, but the
> difference is going to be in the noise for any query I've ever used
> generate_series for.

Which of my mails made you think that I was not satisfied
with PostgreSQL's current performance?
"generate_series(DATE, DATE)" would just be syntactic sugar,
and I like sweets.

Tim

pgsql-general by date:

Previous
From: justin
Date:
Subject: Re: How useful is the money datatype?
Next
From: Scott Ribe
Date:
Subject: ERROR: column "id" inherits conflicting default values