Re: Optimization for lower(), upper(), casefold() functions.
Alexander Borisov <lex.borisov@gmail.com>
From: Alexander Borisov <lex.borisov@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>, Heikki Linnakangas <hlinnaka@iki.fi>,
pgsql-hackers@postgresql.org
Date: 2025-03-15T22:28:00Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix headerscheck warning.
- 549ea06e4217 18.0 landed
-
Optimization for lower(), upper(), casefold() functions.
- 27bdec06841d 18.0 landed
-
Refactor convert_case() to prepare for optimizations.
- d3b2e5e1ab5c 18.0 landed
-
Improve performance of Unicode {de,re}composition in the backend
- 783f0cc64dcc 14.0 cited
15.03.2025 23:07, Jeff Davis wrote: > On Fri, 2025-03-14 at 15:00 +0300, Alexander Borisov wrote: >> I tried adding a loop to create tables, and everything looks fine >> (v7). [...] > I prefer to generalize when we have the other code in place. As it was, > it was a bit confusing why the extra arguments and subroutines were > there. Thanks Jeff for the review of my patch! > Also, make_ranges() doesn't seem to do what is described in the > comment: it produces a single range. I changed "> $limit" to ">= > $limit", but then it generates 3 ranges, not two. I rewrote it to be > more clear what's going on: [...] I had some comments, but since the patch is already committed, it's fine. > When looking around, I didn't find a lot of material discussing this > generated-branches approach. While it's mentioned a few places, I > couldn't even find a consistent name for it. If you know of something > where I can read some more analysis, please send a link. Unfortunately, I can't send any links. I came up with this myself, for my project https://github.com/lexbor/lexbor. I saw that Postgres could improve the approach to Normalization Form, then I noticed that case is not all good either. That's why I took it up. In other words, this approach is purely my idea, and it is showing well. I really like Postgres and want to help you improve it, and I'm very good at Unicode. I feel like my knowledge will be useful for Postgres. Thank you Jeff again for your time. Regards, Alexander Borisov