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

Florents Tselai <florents.tselai@gmail.com>

From: Florents Tselai <florents.tselai@gmail.com>
To: "David E. Wheeler" <david@justatheory.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter@eisentraut.org>, Robert Haas <robertmhaas@gmail.com>, Alexander Korotkov <aekorotkov@gmail.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>, Andrew Dunstan <andrew@dunslane.net>
Date: 2025-05-24T16:51:32Z
Lists: pgsql-hackers

> On 24 May 2025, at 7:08 PM, David E. Wheeler <david@justatheory.com> wrote:
> 
> On May 23, 2025, at 13:52, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 
>>> I assume you mean that they’re set at initdb time, so there’s no mutability concern?
>> 
>> Yeah, I think Peter's right and I'm wrong.  Obviously this ties into
>> our philosophical debate about how immutable is immutable.  But as
>> long as the functions only depend on locale settings that are fixed
>> at database creation, I think it's okay to consider them immutable.
>> 
>> If you were, say, depending on LC_NUMERIC, it would clearly be unsafe
>> to consider that immutable, so I'm not quite sure if this is the end
>> of the discussion.  But for what's mentioned in the thread title,
>> I think we only care about LC_CTYPE.
> 
> Oh, so maybe all this is moot, and Florents can go ahead and add support for the functions to the non-_tz functions?
> 


I think the patch is still in reasonably good shape and hasn’t changed much since September 24.
So yes, I’d hope there are still some valid points to consider or improve.
Otherwise, I’ll have only myself to blame for not pushing harder before the feature freeze. 😅

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.