# Vendored SQLite

- Version: **3.53.2** (`SQLITE_VERSION` in `sqlite3.h`)
- Source: <https://sqlite.org/2026/sqlite-amalgamation-3530200.zip>
- Zip sha256: `8a310d0a16c7a90cacd4c884e70faa51c902afed2a89f63aaa0126ab83558a32`
- Files kept: `sqlite3.c`, `sqlite3.h` (the amalgamation; `shell.c` and
  `sqlite3ext.h` dropped — no shell, no loadable extensions)
- License: public domain (<https://sqlite.org/copyright.html>)

`make build` compiles this into `build/vendor/libsqlite3.a` (statically
linked into the `dist` binary via `-L build/vendor`) and
`build/vendor/jit/libsqlite3.dylib` (dlopen'd by `sx run`, which is how
`make test` executes the test programs). The two locations are separate
on purpose: the macOS linker prefers a dylib over an archive in the same
search directory, and the AOT binary must link the static copy.
`tests/sqlite_smoke.sx` asserts `sqlite3_libversion()` equals the version
above, so a fallback to the OS libsqlite3 fails loudly in both modes.

To upgrade: replace `sqlite3.c`/`sqlite3.h` with a newer amalgamation,
update this file and the version constant in `tests/sqlite_smoke.sx`, and
run `make clean test`.
