pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Make jsonpath .string() be immutable for datetimes.
2+ messages / 1 participants
[nested] [flat]

* pgsql: Make jsonpath .string() be immutable for datetimes.
@ 2024-09-12 18:30  Tom Lane <tgl@sss.pgh.pa.us>
  0 siblings, 0 replies; 2+ messages in thread

From: Tom Lane @ 2024-09-12 18:30 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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(-)



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* pgsql: Make jsonpath .string() be immutable for datetimes.
@ 2024-09-12 18:30  Tom Lane <tgl@sss.pgh.pa.us>
  0 siblings, 0 replies; 2+ messages in thread

From: Tom Lane @ 2024-09-12 18:30 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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
------
REL_17_STABLE

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

Modified Files
--------------
doc/src/sgml/func.sgml                       | 19 ++++---
src/backend/utils/adt/jsonpath_exec.c        | 34 +++---------
src/test/regress/expected/horology.out       |  9 +++-
src/test/regress/expected/jsonb_jsonpath.out | 80 ++++++++++++++++++++++++----
src/test/regress/sql/horology.sql            |  4 +-
src/test/regress/sql/jsonb_jsonpath.sql      | 20 ++++++-
6 files changed, 117 insertions(+), 49 deletions(-)



^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2024-09-12 18:30 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-09-12 18:30 pgsql: Make jsonpath .string() be immutable for datetimes. Tom Lane <tgl@sss.pgh.pa.us>
2024-09-12 18:30 pgsql: Make jsonpath .string() be immutable for datetimes. Tom Lane <tgl@sss.pgh.pa.us>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox