You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MEOS keeps the session timezone, errno, PROJ context and RNGs in
thread-local storage and requires every thread that calls into it to
run meos_initialize() before its first call. The extension only did
this once on the load thread, so DuckDB TaskScheduler workers ran
scalar, cast and aggregate bodies with a NULL session_timezone and
segfaulted in pg_next_dst_boundary on the first timestamp parse. A
thread-local guard now runs the per-thread init (and re-installs the
process-global error handler, which meos_initialize() resets to the
exit-on-error default) at the scalar exec wrapper and through a cast
registration trampoline covering every cast entry point.
0 commit comments