Re: Procedure for feature requests?

Поиск
Список
Период
Сортировка
От Sam Mason
Тема Re: Procedure for feature requests?
Дата
Msg-id 20091003152336.GB5407@samason.me.uk
обсуждение исходный текст
Ответ на Re: Procedure for feature requests?  (Tim Landscheidt <tim@tim-landscheidt.de>)
Ответы Re: Procedure for feature requests?
Список pgsql-general
On Fri, Oct 02, 2009 at 09:48:14PM +0000, Tim Landscheidt wrote:
> 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.

> "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);

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.

--
  Sam  http://samason.me.uk/

В списке pgsql-general по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: How useful is the money datatype?
Следующее
От: Sam Mason
Дата:
Сообщение: Re: How useful is the money datatype?