| From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
|---|---|
| To: | Noah Misch <noah(at)leadboat(dot)com> |
| Cc: | ranvis(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: BUG #19406: substring(text) fails on valid UTF-8 toasted value in PostgreSQL 15.16 |
| Date: | 2026-02-14 20:10:00 |
| Message-ID: | CA+hUKGKJm6Zi0P5vp=ZnhS=WN0_13tUX2aS5EzQQu3Ci=xhVew@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On Sun, Feb 15, 2026 at 8:33 AM Noah Misch <noah(at)leadboat(dot)com> wrote:
> - slice_len is the amount *returned* from the toaster. It's nonnegative.
Ah, right, that makes more sense.
> > The outline I had come up with before seeing your patch was: let's
> > just delete it. The position search can check bounds incrementally,
> > following our general approach. This avoids the reported problem by
> > ditching the pre-flight scan through the slice (up to 4x more
> > pg_mblen_XXX calls and memory access than we strictly need), and also
> > the special cases for empty strings since they already fall out of the
> > general behaviour (am I missing something?), not leaving much code
> > behind.
>
> Like you, I made a note that it's wasteful to make two mblen passes over the
> string. I'm only seeing a 50% reduction in mblen calls, not an 80% reduction,
> but I didn't look too closely. I guessed such a change would be less clearly
> correct, so I figured it would be less suitable for back branches. Hence, I
> didn't draft it.
I was comparing to unpatched master, but yeah of course your patch
already gets part of the way there.
> My first impression, hurried due to the commit ETA in 30 minutes, is that this
> is less conservative and should hold for master-only.
Got it. Will add it to the pile of master-only fallout from this area.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas Munro | 2026-02-14 20:19:04 | Re: BUG #19406: substring(text) fails on valid UTF-8 toasted value in PostgreSQL 15.16 |
| Previous Message | Noah Misch | 2026-02-14 19:33:44 | Re: BUG #19406: substring(text) fails on valid UTF-8 toasted value in PostgreSQL 15.16 |