Re: [HACKERS] Re: [PATCH] Integer overflow in timestamp[tz]_part() and date/time boundaries check
Anastasia Lubennikovawrites: > There is an issue, mentioned in the thread above: >> postgres=# select >> postgres-# to_char(date_trunc('week', '4713-01-01 BC'::date),'day') >> postgres-# ,to_char(date_trunc('week', '4714-12-29 BC'::date),'day') >> postgres-# ,to_char(date_trunc('week', '4714-12-28 BC'::date),'day'); >> to_char | to_char | to_char >> ---+---+--- >> monday| monday| thursday >> (1 row) >> since 4714-12-28 BC and to the past detection when a week is starting >> is broken (because it is boundary of isoyears -4713 and -4712). BTW, I think the actual problem is that j2day() figured that coercing its argument to unsigned int would be sufficient to produce a sane answer for negative inputs. It isn't. Nobody sees this with inputs after 4714BC, but when probing in 4714 the code considers the reference point 4714-01-04, which has a negative Julian date and so we end up passing a negative date to j2day(). regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Re: [PATCH] Integer overflow in timestamp[tz]_part() and date/time boundaries check
15.03.2016 03:21, Vitaly Burovoy: On 3/14/16, Anastasia Lubennikovawrote: 14.03.2016 16:23, David Steele: On 2/25/16 4:44 PM, Vitaly Burovoy wrote: Added to the commitfest 2016-03. [CF] https://commitfest.postgresql.org/9/540/ This looks like a fairly straight-forward bug fix (the size of the patch is deceptive because there a lot of new tests included). It applies cleanly. Anastasia, I see you have signed up to review. Do you have an idea when you will get the chance to do that? Thanks, I've read the patch thoroughly and haven't found any problems. I think that the patch is in a very good shape. It fixes a bug and has an excellent set of tests. There is an issue, mentioned in the thread above: postgres=# select postgres-# to_char(date_trunc('week', '4713-01-01 BC'::date),'day') postgres-# ,to_char(date_trunc('week', '4714-12-29 BC'::date),'day') postgres-# ,to_char(date_trunc('week', '4714-12-28 BC'::date),'day'); to_char | to_char | to_char ---+---+--- monday| monday| thursday (1 row) since 4714-12-28 BC and to the past detection when a week is starting is broken (because it is boundary of isoyears -4713 and -4712). Is it worth to break undocumented range or leave it as is? But I suppose that behavior of undocumented dates is not essential. I'm sorry... What should I do with "Waiting on Author" state if you don't have complaints? I was going to set "Ready for Committer", but then I've noticed message from Mark Dilger and changed my mind. Now, when you answered him, I have no objections. -- Anastasia Lubennikova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] Re: [PATCH] Integer overflow in timestamp[tz]_part() and date/time boundaries check
On 3/14/16, Anastasia Lubennikovawrote: > 14.03.2016 16:23, David Steele: >> On 2/25/16 4:44 PM, Vitaly Burovoy wrote: >> >>> Added to the commitfest 2016-03. >>> >>> [CF] https://commitfest.postgresql.org/9/540/ >> >> This looks like a fairly straight-forward bug fix (the size of the >> patch is deceptive because there a lot of new tests included). It >> applies cleanly. >> >> Anastasia, I see you have signed up to review. Do you have an idea >> when you will get the chance to do that? >> >> Thanks, > > I've read the patch thoroughly and haven't found any problems. I think > that the patch is in a very good shape. > It fixes a bug and has an excellent set of tests. > > There is an issue, mentioned in the thread above: > >>postgres=# select >>postgres-# to_char(date_trunc('week', '4713-01-01 BC'::date),'day') >>postgres-# ,to_char(date_trunc('week', '4714-12-29 BC'::date),'day') >>postgres-# ,to_char(date_trunc('week', '4714-12-28 BC'::date),'day'); >> to_char | to_char | to_char >>---+---+--- >> monday| monday| thursday >>(1 row) > >>since 4714-12-28 BC and to the past detection when a week is starting >>is broken (because it is boundary of isoyears -4713 and -4712). >>Is it worth to break undocumented range or leave it as is? > > But I suppose that behavior of undocumented dates is not essential. I'm sorry... What should I do with "Waiting on Author" state if you don't have complaints? > -- > Anastasia Lubennikova > Postgres Professional: http://www.postgrespro.com > The Russian Postgres Company -- Best regards, Vitaly Burovoy -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] Re: [PATCH] Integer overflow in timestamp[tz]_part() and date/time boundaries check
14.03.2016 16:23, David Steele: On 2/25/16 4:44 PM, Vitaly Burovoy wrote: Added to the commitfest 2016-03. [CF] https://commitfest.postgresql.org/9/540/ This looks like a fairly straight-forward bug fix (the size of the patch is deceptive because there a lot of new tests included). It applies cleanly. Anastasia, I see you have signed up to review. Do you have an idea when you will get the chance to do that? Thanks, I've read the patch thoroughly and haven't found any problems. I think that the patch is in a very good shape. It fixes a bug and has an excellent set of tests. There is an issue, mentioned in the thread above: postgres=# select postgres-# to_char(date_trunc('week', '4713-01-01 BC'::date),'day') postgres-# ,to_char(date_trunc('week', '4714-12-29 BC'::date),'day') postgres-# ,to_char(date_trunc('week', '4714-12-28 BC'::date),'day'); to_char | to_char | to_char ---+---+--- monday| monday| thursday (1 row) since 4714-12-28 BC and to the past detection when a week is starting is broken (because it is boundary of isoyears -4713 and -4712). Is it worth to break undocumented range or leave it as is? But I suppose that behavior of undocumented dates is not essential. -- Anastasia Lubennikova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] Re: [PATCH] Integer overflow in timestamp[tz]_part() and date/time boundaries check
On 2/25/16 4:44 PM, Vitaly Burovoy wrote: Added to the commitfest 2016-03. [CF] https://commitfest.postgresql.org/9/540/ This looks like a fairly straight-forward bug fix (the size of the patch is deceptive because there a lot of new tests included). It applies cleanly. Anastasia, I see you have signed up to review. Do you have an idea when you will get the chance to do that? Thanks, -- -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