Re: [HACKERS] Bug in to_timestamp(). - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: [HACKERS] Bug in to_timestamp().
Date
Msg-id CAKFQuwaavBMaegu=W=mKC1gZaYoWKwzT7hRfTQ8mqmXWYQBrGw@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Bug in to_timestamp().  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Responses Re: [HACKERS] Bug in to_timestamp().
List pgsql-hackers
On Mon, Sep 3, 2018 at 2:30 PM, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote:
The current version of patch doesn't really distinguish spaces and
delimiters in format string in non-FX mode.  So, spaces and delimiters
are forming single group.  For me Oracle behavior is ridiculous at
least because it doesn't allow cases when input string exactly matches
format string.

This one fails:
SELECT to_timestamp('2018- -01 02', 'YYYY- -MM DD') FROM dual

Related to below - since this works today it should continue to work.  I was under the wrong impression that we followed their behavior today and were pondering deviating from it because of its ridiculousness.
 
> The couple of regression tests that change do so for the better.  It would be illuminating to set this up as two patches though, one introducing all of the new regression tests against the current code and then a second patch with the changed behavior with only the affected tests.

OK, here you go.  0001-to_timestamp-regression-test-v17.patch
introduces changes in regression tests and their output for current
master, while 0002-to_timestamp-format-checking-v17.patch contain
changes to to_timestamp itself.


From those results the question is how important is it to force the following breakage on our users (i.e., introduce FX exact symbol matching):

SELECT to_timestamp('97/Feb/16', 'FXYY:Mon:DD');
-         to_timestamp         
-------------------------------
- Sun Feb 16 00:00:00 1997 PST
-(1 row)
-
+ERROR:  unexpected character "/", expected character ":"
+HINT:  In FX mode, punctuation in the input string must exactly match the format string.

There seemed to be some implicit approvals of this breakage some 30 emails and 10 months ago but given that this is the only change from a correct result to a failure I'd like to officially put it out there for opinion/vote gathering.   Mine is a -1; though keeping the distinction between space and non-alphanumeric characters is expected.

David J.

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Bug fix for glibc broke freebsd build in REL_11_STABLE
Next
From: Andres Freund
Date:
Subject: Re: Bug fix for glibc broke freebsd build in REL_11_STABLE