On 3/17/16 4:49 AM, Dean Rasheed wrote: > On 16 March 2016 at 23:32, David Steele <da...@pgmasters.net> 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: 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'); And only works when: postgres=# SELECT * FROM generate_series('01-01-2000'::date, '01-04-2000'::date, '7 days'::interval); generate_series ------------------------ 2000-01-01 00:00:00+00 (1 row) One might argue that string constants for dates in actual code might be rare but I think it's safe to say that string constants for intervals are pretty common. I also think it unlikely that they are all explicitly cast. I marked this "waiting for author" so Corey can respond. I actually tested with the v3 patch since the v4 patch seems to be broken with git apply or patch: $ patch -p1 < ../other/generate_series_date.v4.diff patching file doc/src/sgml/func.sgml Hunk #1 succeeded at 14787 (offset 87 lines). Hunk #2 succeeded at 14871 (offset 87 lines). patching file src/backend/utils/adt/date.c patch: **** malformed patch at line 163: diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h $ git apply -3 ../other/generate_series_date.v4.diff fatal: corrupt patch at line 163 -- -David da...@pgmasters.net -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers