pgsql: Fix handling of format string text characters in to_timestamp()/

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix handling of format string text characters in to_timestamp()/
Date: 2018-09-20 12:51:39
Message-ID: E1g2yQl-0004Ia-7R@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix handling of format string text characters in to_timestamp()/to_date()

cf984672 introduced improvement of handling of spaces and separators in
to_timestamp()/to_date() functions. In particular, now we're skipping spaces
both before and after fields. That may cause format string text character to
consume part of field in the situations, when it didn't happen before cf984672.
This commit cause format string text character consume input string characters
only when since previous field (or string beginning) number of skipped input
string characters is not greater than number of corresponding format string
characters (that is we didn't skip any extra characters in input string).

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/09e99ce86e3dfb4716618b1dda4074b45ba56a09

Modified Files
--------------
src/backend/utils/adt/formatting.c | 19 +++++++++++++++++--
src/test/regress/expected/horology.out | 15 +++++++++++++++
src/test/regress/sql/horology.sql | 4 ++++
3 files changed, 36 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Steele 2018-09-20 15:48:08 Re: pgsql: Make WAL segment size configurable at initdb time.
Previous Message Thomas Munro 2018-09-20 04:33:28 pgsql: Fix segment_bins corruption in dsa.c.