From ed055d249df577ab40470f9dc1a30ab18ffdfff4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 10 Sep 2024 14:48:13 -0400 Subject: Improve documentation and testing of jsonpath string() for datetimes. Point out that the output format depends on DateStyle, and test that, along with testing some cases previously not covered. In passing, adjust the horology test to verify that the prevailing DateStyle is 'Postgres, MDY', much as it has long verified the prevailing TimeZone. We expect pg_regress to have set these up, and there are multiple regression tests relying on these settings. Also make the formatting of entries in table 9.50 more consistent. David Wheeler (marginal additional hacking by me); review by jian he Discussion: https://postgr.es/m/56955B33-6959-4FDA-A459-F00363ECDFEE@justatheory.com --- doc/src/sgml/func.sgml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 461fc3f437c..1bde4091ca6 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -18016,7 +18016,9 @@ ERROR: jsonpath member accessor can only be applied to an object string - String value converted from a JSON boolean, number, string, or datetime + String value converted from a JSON boolean, number, string, or + datetime (the output format for datetimes is determined by + the parameter) jsonb_path_query_array('[1.23, "xyz", false]', '$[*].string()') @@ -18105,7 +18107,9 @@ ERROR: jsonpath member accessor can only be applied to an object decimal - Rounded decimal value converted from a JSON number or string. precision and scale must be integer values. + Rounded decimal value converted from a JSON number or string + (precision and scale must be + integer values) jsonb_path_query('1234.5678', '$.decimal(6, 2)') @@ -18207,7 +18211,7 @@ ERROR: jsonpath member accessor can only be applied to an object Time without time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"12:34:56.789"', '$.time(2)') @@ -18236,7 +18240,7 @@ ERROR: jsonpath member accessor can only be applied to an object Time with time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"12:34:56.789 +05:30"', '$.time_tz(2)') @@ -18265,7 +18269,7 @@ ERROR: jsonpath member accessor can only be applied to an object Timestamp without time zone value converted from a string, with - fractional seconds adjusted to the given precision. + fractional seconds adjusted to the given precision jsonb_path_query('"2023-08-15 12:34:56.789"', '$.timestamp(2)') @@ -18294,7 +18298,7 @@ ERROR: jsonpath member accessor can only be applied to an object Timestamp with time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"2023-08-15 12:34:56.789 +05:30"', '$.timestamp_tz(2)') -- cgit v1.2.3