Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part - Mailing list pgsql-hackers

From Tom Lane
Subject Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part
Date
Msg-id 2568904.1748022721@sss.pgh.pa.us
Whole thread Raw
In response to Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part  (Florents Tselai <florents.tselai@gmail.com>)
List 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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Why our Valgrind reports suck
Next
From: Robert Haas
Date:
Subject: Re: Replication slot is not able to sync up