Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Florents Tselai <florents.tselai@gmail.com>
Cc: 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-23T17:52:01Z
Lists: pgsql-hackers
Florents Tselai <florents.tselai@gmail.com> writes: > On 22 May 2025, at 11:56 PM, Peter Eisentraut <peter@eisentraut.org> wrote: >> I don't understand how this discussion got to the conclusion that functions that depend on the locale cannot be immutable. Note that the top-level functions lower, upper, and initcap themselves are immutable. > 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. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add additional jsonpath string methods
- bd4f879a9cdd 19 (unreleased) landed
-
Rename jsonpath method arg tokens
- a35c9d524ed0 19 (unreleased) landed
-
Fix transient memory leakage in jsonpath evaluation.
- 5a2043bf7131 19 (unreleased) cited
-
Make jsonpath .string() be immutable for datetimes.
- cb599b9ddfcc 18.0 cited