Re: Re: Add generate_series(date,date) and generate_series(date,date,integer)
От
David Steele
Тема
Re: Re: Add generate_series(date,date) and
generate_series(date,date,integer)
Дата
Msg-id
56EAD01E.3020808@pgmasters.net
Ответ на
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) (David G. Johnston)
Список
Дерево обсуждения
Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Simon Riggs <simon@2ndQuadrant.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Torsten Zuehlsdorff <mailinglists@toco-domains.de>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Fetter <david@fetter.org>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Christoph Berg <myon@debian.org>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Simon Riggs <simon@2ndQuadrant.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Stephen Frost <sfrost@snowman.net>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Michael Paquier <michael.paquier@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Dean Rasheed <dean.a.rasheed@gmail.com>
Re: Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: Add generate_series(date,date) and
generate_series(date,date,integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Simon Riggs <simon@2ndQuadrant.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Robert Haas <robertmhaas@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) "Igal @ Lucee.org" <igal@lucee.org>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) "David G. Johnston" <david.g.johnston@gmail.com>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Euler Taveira <euler@timbira.com.br>
Re: Add generate_series(date,date) and
generate_series(date,date,integer) Torsten Zühlsdorff <mailinglists@toco-domains.de>
Re: Add generate_series(date, date) and generate_series(date, date,
integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) Corey Huinker <corey.huinker@gmail.com>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date, date) and generate_series(date, date,
integer) David Steele <david@pgmasters.net>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) Simon Riggs <simon@2ndQuadrant.com>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) Corey Huinker <corey.huinker@gmail.com>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) Vik Fearing <vik@2ndquadrant.fr>
Re: Re: Add generate_series(date, date) and
generate_series(date, date, integer) David Steele <david@pgmasters.net>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Tom Lane <tgl@sss.pgh.pa.us>
Re: Add generate_series(date,date) and generate_series(date,date,integer) Corey Huinker <corey.huinker@gmail.com>
On 3/17/16 11:30 AM, David G. Johnston wrote:
> On Thu, Mar 17, 2016 at 7:57 AM, Corey Huinker >wrote:
>
> On Thu, Mar 17, 2016 at 10:00 AM, David Steele > wrote:
>
> On 3/17/16 4:49 AM, Dean Rasheed wrote:
>
> > On 16 March 2016 at 23:32, David Steele > wrote:
> >
> >>
> >> I think in this case it comes down to a committer's judgement so I have
> >> marked this "ready for committer" and passed the buck on to Álvaro.
> >
> > So I was pretty much "meh" on this patch too, because I'm not
> > convinced it actually saves much typing, if any.
> >
> > However, I now realise that it introduces a backwards-compatibility
> > breakage. Today it is possible to type
> >
> > SELECT * FROM generate_series('01-01-2000'::date, '01-04-2000', '7 days');
>
> It can also be broken as below and this is even scarier to me:
>
>
> Above and below are the same query...
Not sure I agree. My point was that even if developers were pretty
careful with their casting (or are using two actual dates) then there's
still possibility for breakage.
> postgres=# SELECT * FROM generate_series('01-01-2000'::date,
> '01-04-2000'::date, '7 days');
> ERROR: invalid input syntax for integer: "7 days"
> LINE 1: ...te_series('01-01-2000'::date, '01-04-2000'::date, '7
> days');
> <...>
>
> I see two ways around this:
>
> 1. Drop the step parameter entirely. My own use cases only ever
> require the step values 1 and -1, and which one the user wants can
> be inferred from (start < end). This would still change the output
> type where a person wanted timestamps, but instead input two dates.
>
> Undesirable.
Very undesirable. Week intervals are a very valid use case and I don't
like the automagic interval idea.
>
> 2. Rename the function date_series() or generate_series_date()
>
> I still think this is an important function because at the last
> several places I've worked, I've found myself manufacturing a query
> where some event data is likely to have date gaps, but we want to
> see the date gaps or at least have the 0 values contribute to a
> later average aggregate.
>
>
> I'd call it "generate_dates(...)" and be done with it.
>
> We would then have:
>
> generate_series()
> generate_subscripts()
> generate_dates()
To me this completely negates the idea of this "just working" which is
why it got a +1 from me in the first place. If I have to remember to
use a different function name then I'd prefer to just cast on the
timestamp version of generate_series().
Sorry, but this is now -1 from me, at least for this commitfest. While
I like the idea I think it is far too late to be redesigning such a
minor feature.
--
-David
david@pgmasters.net
В списке pgsql-hackers по дате отправления
От: Corey Huinker
Дата: