orbitinghail / sqlsync

SQLSync is a collaborative offline-first wrapper around SQLite. It is designed to synchronize web application state between users, devices, and the edge.
https://sqlsync.dev
Apache License 2.0
2.29k stars 30 forks source link

Update rusqlite once the f128 issues are resolved #26

Closed carlsverre closed 9 months ago

carlsverre commented 12 months ago

Currently SQLSync depends on a rusqlite patch maintained by @trevyn which has been recently updated to use a more recent version of SQLite. The main PR is here: https://github.com/rusqlite/rusqlite/pull/1010

Unfortunately, recent SQLite versions are now pulling in various long double (f128) routines:

  (import "env" "__extenddftf2" (func $__extenddftf2 (type 99)))
  (import "env" "__getf2" (func $__getf2 (type 123)))
  (import "env" "__multf3" (func $__multf3 (type 94)))
  (import "env" "__trunctfdf2" (func $__trunctfdf2 (type 118)))
  (import "env" "__lttf2" (func $__lttf2 (type 123)))
  (import "env" "__gttf2" (func $__gttf2 (type 123)))

Until they are either shimmed or SQLite gains compile time flags to disable this behavior, we are stuck on SQLite version 3.37.2. (note: if we need a slightly higher version of SQLite, we can manually re-apply @trevyn's patch to a rusqlite version in the middle, assuming we figure out when the f128 deps were added to SQLite).