Re: [HACKERS] Bug in to_timestamp().
От | Alexander Korotkov |
---|---|
Тема | Re: [HACKERS] Bug in to_timestamp(). |
Дата | |
Msg-id | CAPpHfdv4x3J0NOO2Qb7bv2JoBYRuKK11+v6zew_7yoerX0QRXA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Bug in to_timestamp(). (amul sul <sulamul@gmail.com>) |
Ответы |
Re: [HACKERS] Bug in to_timestamp().
|
Список | pgsql-hackers |
On Thu, Sep 20, 2018 at 6:09 AM amul sul <sulamul@gmail.com> wrote: > On Thu, Sep 20, 2018, 3:22 AM Alexander Korotkov <a.korotkov@postgrespro.ru> wrote: >> It's hard to understand whether it was expected, because it wasn't >> properly documented. More important that it's the same behavior we >> have before cf984672, and purpose of cf984672 was not to change this. >> >> But from the code comments, it's intentional. If you put digits or >> text characters into format string, you can skip non-separator input >> string characters. For instance you may do. >> >> # SELECT to_date('y18y12y2011', 'xDDxMMxYYYY'); >> to_date >> ------------ >> 2011-12-18 >> (1 row) >> >> It's even more interesting that letters and digits are handled in >> different manner. >> >> # SELECT to_date('01801202011', 'xDDxMMxYYYY'); >> ERROR: date/time field value out of range: "01801202011" >> Time: 0,453 ms >> >> # SELECT to_date('01801202011', '9DD9MM9YYYY'); >> to_date >> ------------ >> 2011-12-18 >> (1 row) >> >> So, letters in format string doesn't allow you to extract fields at >> particular positions of digit sequence, but digits in format string >> allows you to. That's rather undocumented, but from the code you can >> get that it's intentional. Thus, I think it would be nice to improve >> the documentation here. But I still propose to commit the patch I >> propose to bring back unintentional behavior change in cf984672. > > Agreed, thanks for working on this. Pushed, thanks. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-hackers по дате отправления: