Re: Thread-safe stringToNode() / pg_strtok()

From: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: Thread-safe stringToNode() / pg_strtok()
Date: 2026-08-17 11:36:29
Message-ID: CAEze2Wgrv-nUcD_7tLP0Nzm1EtJCkQqn4_27+OH6m-55y_gUgw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, 16 Aug 2026 at 09:13, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Fri, Aug 14, 2026 at 04:08:24PM +0200, Matthias van de Meent wrote:
> > In line with various other efforts making things more re-entrant and
> > thread-safe, here's a patch that makes stringToNode (and pg_strtok
> > with it) thread safe.
>
> I have been reading the patch (not tested, just looking at the diffs),
> and using a context as you are doing sounds like an acceptable thing
> to do to remove the static pointer used by pg_strtok(). At least the
> change makes sense here when taken in isolation.

Thanks for looking!

> Any thoughts or comments from others?

One update for the patch. This fixes non-DEBUG_NODE_TESTS_ENABLED
builds; I forgot to update the READ_LOCATION_FIELD definition in those
non-debug builds, CI picked this up quite quickly but I didn't get to
fixing it until today.

-Matthias

Attachment Content-Type Size
v2-0001-Make-stringToNode-infrastructure-thread-safe.patch application/octet-stream 23.4 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2026-08-17 11:53:27 apply worker misses closing partition leaves
Previous Message Ilia Evdokimov 2026-08-17 11:17:08 Apply extended statistics to join clause during parameterized path costing