Andreas Karlsson wrote: > On 07/04/2016 10:55 PM, Pavel Stehule wrote: >> 2016-07-04 22:15 GMT+02:00 Andreas Karlsson wrote: >>> I do not see a clear conclusion in the linked threads. For example >>> Bruce calls it a bug in one of the emails >>> (https://www.postgresql.org/message-id/201107200103.p6K13ix10517%40momjian.us). >>> >>> I think we should fix to_date() to throw an error. Personally I >>> would be happy if my code broke due to this kind of change since the >>> exception would reveal an old bug which has been there a long time >>> eating my data. I cannot see a case where I would have wanted the >>> current behavior. >> >> If I remember, this implementation is based on Oracle's behave. > > In the thread I linked above they claim that Oracle (at least 10g) does > not work like this. [...] > I do not have access to an Oracle installation so I cannot confirm this > myself.
Oracle 12.1: SQL> SELECT to_date('2016-12-40','YYYY-MM-DD') FROM dual; SELECT to_date('2016-12-40','YYYY-MM-DD') FROM dual * ERROR at line 1: ORA-01847: day of month must be between 1 and last day of month SQL> SELECT to_date('2017-02-29','YYYY-MM-DD') FROM dual; SELECT to_date('2017-02-29','YYYY-MM-DD') FROM dual * ERROR at line 1: ORA-01839: date not valid for month specified So no, compatibility with Oracle is certainly not the reason to leave it as it is. But notwithstanding your feeling that you would like your application to break if it makes use of this behaviour, it is a change that might make some people pretty unhappy - nobody can tell how many. Yours, Laurenz Albe -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers