Make jsonpath .string() be immutable for datetimes.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: cc4fdfa411fa0cd6b27563c37c096bf76120659f
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-09-12T18:30:29Z
Releases: 17.0
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

Files

Documentation touched

Discussion