pgsql: Fix is_digit labeling of to_timestamp's FFn format codes. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix is_digit labeling of to_timestamp's FFn format codes.
Date
Msg-id E1tJzIK-001a5M-Tf@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix is_digit labeling of to_timestamp's FFn format codes.

These format codes produce or consume strings of digits, so they
should be labeled with is_digit = true, but they were not.
This has effect in only one place, where is_next_separator()
is checked to see if the preceding format code should slurp up
all the available digits.  Thus, with a format such as '...SSFF3'
with remaining input '12345', the 'SS' code would consume all
five digits (and then complain about seconds being out of range)
when it should eat only two digits.

Per report from Nick Davies.  This bug goes back to d589f9446
where the FFn codes were introduced, so back-patch to v13.

Discussion: https://postgr.es/m/AM8PR08MB6356AC979252CFEA78B56678B6312@AM8PR08MB6356.eurprd08.prod.outlook.com

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/765f76d8cd9911eaae12aa958811e28fe2040dd9

Modified Files
--------------
src/backend/utils/adt/formatting.c     | 26 +++++++++++++-------------
src/test/regress/expected/horology.out | 11 +++++++++++
src/test/regress/sql/horology.sql      |  1 +
3 files changed, 25 insertions(+), 13 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: doc: remove LC_COLLATE and LC_CTYPE from SHOW command
Next
From: Tom Lane
Date:
Subject: pgsql: Make getObjectDescription robust against dangling amproc type li