Commit f9e99dc
committed
Fix worker-thread and linkage crashes
Scalar and cast bodies run MEOS on DuckDB TaskScheduler worker threads, which
need a per-thread meos_initialize(); a thread-local guard in the scalar exec
wrapper and a cast trampoline (RegisterMeosCastFunction) cover every entry
point, so timestamp formatting no longer dereferences a NULL session_timezone.
Per-type DuckDB callbacks and blob helpers have internal linkage and a single
canonical blob round-trip (TemporalToBlob / BlobToTemporal) declared once in
temporal/temporal_blob.hpp, so each function-pointer registration binds to its
own body.
(cherry picked from commit 7b99a0c)1 parent 45df2ad commit f9e99dc
24 files changed
Lines changed: 352 additions & 1725 deletions
File tree
- src
- geo
- include/temporal
- temporal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
0 commit comments