pgsql: Improve behavior of to_timestamp()/to_date() functions - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Improve behavior of to_timestamp()/to_date() functions
Date
Msg-id E1fz4dm-0007Rw-HA@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Improve behavior of to_timestamp()/to_date() functions

to_timestamp()/to_date() functions were introduced mainly for Oracle
compatibility, and became very popular among PostgreSQL users.  However, some
behavior of to_timestamp()/to_date() functions are both incompatible with Oracle
and confusing for our users.  This behavior is related to handling of spaces and
separators in non FX (fixed format) mode.  This commit reworks this behavior
making less confusing, better documented and more compatible with Oracle.

Nevertheless, there are still following incompatibilities with Oracle.
1) We don't insist that there are no format string patterns unmatched to
   input string.
2) In FX mode we don't insist space and separators in format string to exactly
   match input string.
3) When format string patterns are divided by mix of spaces and separators, we
   don't distinguish them, while Oracle takes into account only last group of
   spaces/separators.

Discussion: https://postgr.es/m/1873520224.1784572.1465833145330.JavaMail.yahoo%40mail.yahoo.com
Author: Artur Zakirov, Alexander Korotkov, Liudmila Mantrova
Review: Amul Sul, Robert Haas, Tom Lane, Dmitry Dolgov, David G. Johnston

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cf984672427ebc4446213fe8f71d8899452802b6

Modified Files
--------------
doc/src/sgml/func.sgml                 |  62 ++++++++++++++++--
src/backend/utils/adt/formatting.c     | 112 ++++++++++++++++++++++++++++-----
src/test/regress/expected/horology.out | 105 +++++++++++++++++++++++++++++--
src/test/regress/sql/horology.sql      |  27 +++++++-
4 files changed, 280 insertions(+), 26 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Work around stdbool problem in dfmgr.c.
Next
From: Alexander Korotkov
Date:
Subject: pgsql: Fix past pd_upper write in ginRedoRecompress()