Commit Graph

16 Commits

Author SHA1 Message Date
Sebastian Jeltsch ab6cf97e55 Major Rusqlite version update. 2026-03-16 13:01:08 +01:00
Sebastian Jeltsch 946834fc87 Switch back to upstream serde_rusqlite. 2026-02-02 14:47:55 +01:00
Sebastian Jeltsch 1d4a1efc94 Fix sqlite-vec MUSL builds after switching to the fork. 2026-02-01 23:38:13 +01:00
Sebastian Jeltsch 5b9b32e0ac Move sqlean/sqlite-vec loading to the CLI level and switch to maintained sqlite-vec fork: https://github.com/vlasky/sqlite-vec. 2026-02-01 11:04:22 +01:00
Sebastian Jeltsch 1ba84437f1 Update rusqlite to v0.38 and vendor serde-rusqlite. 2026-01-05 22:09:06 +01:00
Sebastian Jeltsch 08bcf98e67 Disable V8 runtime by default (custom builds can still enable it) and add a truly static binary release for Linux using MUSL.
Building with MUSL required vendoring sqlite-vec and OpenSSL.

Also clean up no-longer-supported TypeScript guest scripts.
2025-10-07 20:47:28 +02:00
Sebastian Jeltsch 7a8c31c8e9 Cleanup: move all Rust code into a crates/ directory. 2025-08-07 10:02:32 +02:00
Sebastian Jeltsch 5152cf9000 Replace vendored refinery with a more proper fork stripping all the unused bits and bobs. 2025-05-27 22:01:06 +02:00
Sebastian Jeltsch 01feb22e44 serde_rusqlite finally got an update. Remove vendored version. 2025-05-27 12:15:52 +02:00
Sebastian Jeltsch c4a4dfd575 Update rusqlite to v0.35, which has more strict query validation \o/. Also update other Rust and JS deps. 2025-05-03 11:42:59 +02:00
Sebastian Jeltsch 7ab85594e9 Remove vendored rustc_tools_util. 2025-02-14 23:15:23 +01:00
Sebastian Jeltsch 51a6af3149 Remove sqlite-loadable and use rusqlite functions instead. 2024-12-16 16:41:52 +01:00
Sebastian Jeltsch 4595b72010 Link all submodules using web URL rather than SSH to avoid users needing to register their SSH keys first. 2024-12-08 21:36:43 +01:00
Sebastian Jeltsch 1b5c957415 Move SQLite orchestration into trailbase-sqlite and fix js-runtime completion bug with true async (previously libsql was sync under the hood). 2024-12-04 16:57:15 +01:00
Sebastian Jeltsch 6cbea390fb Herculean migration from libsql's rust bindings to plain rusqlite+SQLite.
There's a couple of reasons:

* As for the rust bindings: they're sub-par to rusqlite, though
  rusqlite is amazing. Even libsql-server uses rusqlite over their own
  bindings. The bindings are missing features such as update hooks
  and the hard-coded execution model suffers from lock congestion.
* We've fixed bugs (e.g. trivial null ptr accesses went unnoticed),
  raised issues, and tried to add missing functionality such as update
  hooks. It's unclear if the rust-bindings are a priority or covered by
  the principles laid out in the libsql manifesto. From the outside it
  looks like focus has shifted to https://github.com/penberg/limbo.
* As for the C-libsql fork for SQLite itself, it's getting more and
  more outdated (2024-01-30 (3.45.1)) and it's unclear when and if the
  ideas from the manifesto will manifest.

Looking forward this opens the door for TrailBase to:

* Bundle more recent versions of SQLite
* Implement more performant, better scaling execution models.
* Implement realtime APIs for subscribing to data changes.
2024-12-04 13:03:06 +01:00
Sebastian Jeltsch bdb3735840 Squash all commits for a fresh start.
This is only to avoid accidentally leaking any secrets from early development especially in the light of short-sha attacks.
2024-10-30 23:38:56 +01:00