Hi Florents,

Thanks for the patch. I once had the same pain on a similar task, I had to 
create a PL/SQL function at the time.

I haven’t read the code change yet, but I think the function name 
jsonb_translate() sounds to generic. To make the name more meaningful, I would 
suggest a few candidates: jsonb_replace_text(), or jsonb_replace_value(), or 
jsonb_deep_replace().

Also, I want to understand why do you decide to support only whole word 
matching?

```
evantest=# select jsonb_translate('{"message": "world"}', 'wor', 'earth');
   jsonb_translate
----------------------
 {"message": "world"}
(1 row)
``` 

With this patch, partial match will not result in a replacement.


> On Sep 28, 2025, at 01:16, Florents Tselai <[email protected]> wrote:
> 
> This is a spur of the moment patch really,
> but while going through the process of translating some json data from Greek 
> to English I found myself wishing for $subject.
> Inspired by the Unix tr utility.
> 
> Here's a working v1
> 
> If others find it useful as well,
> I'd go ahead with a json implementation 
> And an additional parameter to make in-arrays replacement optional.
> <v1-0001-Add-jsonb_translate-function.patch>


Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Reply via email to