postgresql/src/backend/utils/adt
Tom Lane 591e088dd5 Fix portability issues in datetime parsing.
datetime.c's parsing logic has assumed that strtod() will accept
a string that looks like ".", which it does in glibc, but not on
some less-common platforms such as AIX.  The result of this was
that datetime fields like "123." would be accepted on some platforms
but not others; which is a sufficiently odd case that it's not that
surprising we've heard no field complaints.  But commit e39f99046
extended that assumption to new places, and happened to add a test
case that exposed the platform dependency.  Remove this dependency
by special-casing situations without any digits after the decimal
point.

(Again, this is in part a pre-existing bug but I don't feel a
compulsion to back-patch.)

Also, rearrange e39f99046's changes in formatting.c to avoid a
Coverity complaint that we were copying an uninitialized field.

Discussion: https://postgr.es/m/1592893.1648969747@sss.pgh.pa.us
2022-04-03 17:04:33 -04:00
..
.gitignore Revert "Add gitignore entries for jsonpath_gram.h" 2019-03-23 00:19:34 +01:00
acl.c Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
amutils.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
array_expanded.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
array_selfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
array_typanalyze.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
array_userfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
arrayfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
arraysubs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
arrayutils.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
ascii.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
bool.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
cash.c Remove unused includes 2021-12-01 16:10:56 +01:00
char.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
cryptohashfuncs.c Improve error handling of cryptohash computations 2022-01-11 09:55:16 +09:00
date.c Specialize tuplesort routines for different kinds of abbreviated keys 2022-04-02 15:22:25 +07:00
datetime.c Fix portability issues in datetime parsing. 2022-04-03 17:04:33 -04:00
datum.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
dbsize.c Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
domains.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
encode.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
enum.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
expandeddatum.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
expandedrecord.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
float.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
format_type.c SQL JSON functions 2022-03-30 16:30:37 -04:00
formatting.c Fix portability issues in datetime parsing. 2022-04-03 17:04:33 -04:00
genfile.c Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
geo_ops.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
geo_selfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
geo_spgist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
hbafuncs.c Add system view pg_ident_file_mappings 2022-03-29 10:15:48 +09:00
inet_cidr_ntop.c Avoid conflicts with library versions of inet_net_ntop() and friends. 2019-08-18 19:27:23 -04:00
inet_net_pton.c Avoid conflicts with library versions of inet_net_ntop() and friends. 2019-08-18 19:27:23 -04:00
int8.c Move scanint8() to numutils.c 2022-02-14 21:57:26 +01:00
int.c Remove pg_atoi() 2022-02-15 07:44:26 +01:00
json.c SQL JSON functions 2022-03-30 16:30:37 -04:00
jsonb_gin.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
jsonb_op.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
jsonb_util.c SQL/JSON constructors 2022-03-27 17:03:34 -04:00
jsonb.c SQL JSON functions 2022-03-30 16:30:37 -04:00
jsonbsubs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
jsonfuncs.c SQL/JSON query functions 2022-03-29 16:57:13 -04:00
jsonpath_exec.c SQL/JSON query functions 2022-03-29 16:57:13 -04:00
jsonpath_gram.y Remove one use of pg_atoi() 2022-02-14 23:07:35 +01:00
jsonpath_scan.l Make JSON path numeric literals more correct 2022-03-28 11:11:39 +02:00
jsonpath.c SQL/JSON query functions 2022-03-29 16:57:13 -04:00
levenshtein.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
like_match.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
like_support.c Call pg_newlocale_from_collation() also with default collation 2022-01-20 09:50:18 +01:00
like.c Call pg_newlocale_from_collation() also with default collation 2022-01-20 09:50:18 +01:00
lockfuncs.c Reduce more the number of calls to GetMaxBackends() 2022-02-10 10:27:29 +09:00
mac8.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
mac.c Specialize tuplesort routines for different kinds of abbreviated keys 2022-04-02 15:22:25 +07:00
Makefile Refactor code related to pg_hba_file_rules() into new file 2022-03-24 12:42:30 +09:00
mcxtfuncs.c Create routine able to set single-call SRFs for Materialize mode 2022-03-07 10:26:29 +09:00
misc.c Fix pg_tablespace_location() with in-place tablespaces 2022-03-17 11:25:02 +09:00
multirangetypes_selfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
multirangetypes.c Add range_agg with multirange inputs 2022-03-30 20:16:23 +02:00
name.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
network_gist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
network_selfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
network_spgist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
network.c Specialize tuplesort routines for different kinds of abbreviated keys 2022-04-02 15:22:25 +07:00
numeric.c Clean up assorted failures under clang's -fsanitize=undefined checks. 2022-03-03 18:13:24 -05:00
numutils.c Remove pg_atoi() 2022-02-15 07:44:26 +01:00
oid.c Rename value node fields 2022-01-14 11:26:08 +01:00
oracle_compat.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
orderedsetaggs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
partitionfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_locale.c Fix global ICU collations for ICU < 54 2022-03-20 10:21:45 +01:00
pg_lsn.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_upgrade_support.c pg_upgrade: Preserve relfilenodes and tablespace OIDs. 2022-01-17 13:40:27 -05:00
pgstatfuncs.c Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pseudotypes.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
quote.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
rangetypes_gist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
rangetypes_selfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
rangetypes_spgist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
rangetypes_typanalyze.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
rangetypes.c Change some internal error messages to elogs 2022-03-30 17:53:54 +02:00
regexp.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
regproc.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
ri_triggers.c Enforce foreign key correctly during cross-partition updates 2022-03-20 18:43:40 +01:00
rowtypes.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
ruleutils.c RETURNING clause for JSON() and JSON_SCALAR() 2022-03-31 15:45:24 -04:00
selfuncs.c Optimize order of GROUP BY keys 2022-03-31 01:13:33 +02:00
tid.c Tighten overflow checks in tidin(). 2022-03-03 20:04:35 -05:00
timestamp.c Fix overflow hazards in interval input and output conversions. 2022-04-02 16:12:29 -04:00
trigfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsginidx.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsgistidx.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery_cleanup.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery_gist.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery_op.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery_rewrite.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery_util.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsquery.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsrank.c Fix collection of typos in the code and the documentation 2022-03-15 11:29:35 +09:00
tsvector_op.c Ensure that length argument of memcmp() isn't seen as negative. 2022-02-15 17:28:17 -05:00
tsvector_parser.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsvector.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
uuid.c Specialize tuplesort routines for different kinds of abbreviated keys 2022-04-02 15:22:25 +07:00
varbit.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
varchar.c Call pg_newlocale_from_collation() also with default collation 2022-01-20 09:50:18 +01:00
varlena.c Specialize tuplesort routines for different kinds of abbreviated keys 2022-04-02 15:22:25 +07:00
version.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
windowfuncs.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
xid8funcs.c Remove workarounds for avoiding [U]INT64_FORMAT in translatable strings. 2022-03-21 11:11:55 -04:00
xid.c Add min() and max() aggregates for xid8. 2022-02-10 12:33:41 +09:00
xml.c Fix incorrect xmlschema output for types timetz and timestamptz. 2022-03-18 16:01:42 -04:00