Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part

David E. Wheeler <david@justatheory.com>

From: "David E. Wheeler" <david@justatheory.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Florents Tselai <florents.tselai@gmail.com>, Alexander Korotkov <aekorotkov@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>, Andrew Dunstan <andrew@dunslane.net>, Peter Eisentraut <peter@eisentraut.org>
Date: 2025-05-21T18:13:28Z
Lists: pgsql-hackers
On May 21, 2025, at 14:06, Robert Haas <robertmhaas@gmail.com> wrote:

> No, that wouldn't be too much work, but the issue is that people will
> keep using the _tz versions and when we eventually try to remove them
> those people will complain no matter how prominent we make the
> deprecation notice. If we want to go this route, maybe we should do
> something like:
> 
> 1. Add the new versions with a _s suffix or whatever.
> 
> 2. Invent a GUC jsonb_tz_warning = { on | off } that advises you to
> use the new functions instead, whenever you use the old ones.
> 
> 3. After N years, flip the default value from off to on.
> 
> 4. After M additional years, remove the old functions and the GUC.
> 
> 5. Still get complaints.

Complainers gonna complain. 🫠

Any idea how widespread the use of the function is? It was added in 17, and I’ve met few who have really dug into the jonpath stuff yet, let alone needed the time zone conversion functionality.

Best,

David

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add additional jsonpath string methods

  2. Rename jsonpath method arg tokens

  3. Fix transient memory leakage in jsonpath evaluation.

  4. Make jsonpath .string() be immutable for datetimes.