pgsql: Make jsonpath .string() be immutable for datetimes. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Make jsonpath .string() be immutable for datetimes.
Date
Msg-id E1sooaO-000mhS-GX@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cb599b9ddfccd15e77f4c167c4e5bdf1ddc3af38

Modified Files
--------------
doc/src/sgml/func.sgml                       |  7 ++-
src/backend/utils/adt/jsonpath_exec.c        | 34 +++----------
src/test/regress/expected/jsonb_jsonpath.out | 73 +++++++++-------------------
src/test/regress/sql/jsonb_jsonpath.sql      | 12 ++---
4 files changed, 39 insertions(+), 87 deletions(-)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Add has_largeobject_privilege function.
Next
From: Jeff Davis
Date:
Subject: pgsql: Remove redundant check for default collation.