diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2024-09-12 14:30:29 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2024-09-12 14:30:29 -0400 |
commit | cb599b9ddfccd15e77f4c167c4e5bdf1ddc3af38 (patch) | |
tree | a6e3aa5354169d7e488b5517559edfd60d16e1df /doc/src | |
parent | 4eada203a5a871f893afe3eb3e07eea5de1aa642 (diff) | |
download | postgresql-cb599b9ddfccd15e77f4c167c4e5bdf1ddc3af38.tar.gz postgresql-cb599b9ddfccd15e77f4c167c4e5bdf1ddc3af38.zip |
Make jsonpath .string() be immutable for datetimes.
Discussion of commit ed055d249 revealed that we don't actually
want jsonpath's .string() method to depend on DateStyle, nor
TimeZone either, because the non-"_tz" jsonpath functions are
supposed to be immutable. Potentially we could allow a TimeZone
dependency in the "_tz" variants, but it seems better to just
uniformly define this method as returning the same string that
jsonb text output would do. That's easier to implement too,
saving a couple dozen lines.
Patch by me, per complaint from Peter Eisentraut. Back-patch
to v17 where this feature came in (in 66ea94e8e). Also
back-patch ed055d249 to provide test cases.
Discussion: https://postgr.es/m/5e8879d0-a3c8-4be2-950f-d83aa2af953a@eisentraut.org
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/func.sgml | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index e468ee62ff4..d36e4979b67 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -18017,16 +18017,15 @@ ERROR: jsonpath member accessor can only be applied to an object </para> <para> String value converted from a JSON boolean, number, string, or - datetime (the output format for datetimes is determined by - the <xref linkend="guc-datestyle"/> parameter) + datetime </para> <para> <literal>jsonb_path_query_array('[1.23, "xyz", false]', '$[*].string()')</literal> <returnvalue>["1.23", "xyz", "false"]</returnvalue> </para> <para> - <literal>jsonb_path_query('"2023-08-15"', '$.datetime().string()')</literal> - <returnvalue>"2023-08-15"</returnvalue> + <literal>jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()')</literal> + <returnvalue>"2023-08-15T12:34:56"</returnvalue> </para></entry> </row> |