Read the README first for usage; this sketches the moving parts and where each lives.
exec! / transact! (rsqlite.cljc)
|
backend/SqliteBackend (backend.cljc - the seam)
| | |
backend/jvm (org.sqlite.jni) backend/wasm (sqlite-wasm)
| |
preupdate hook --------+
| |
:pending events rollback hook (discard)
|
autocommit? --schedule--> flush-safe! (serialized per engine)
|
flush! (engine.cljc)
- resolve column names (off-writer; needs a prepared stmt)
- coalesce per table (match.cljc)
- match vs deps (sqldeps.cljc profiles)
- re-run affected, diff, reset! changed result atoms
sql.cljc — instaparse SELECT grammar (parse.y-informed, loose
expressions, no opaque blobs: every identifier is captured).sqldeps.cljc — grammar × EQP blend into dependency profiles.match.cljc — pure invalidation rules + changed-cols.engine.cljc — registry, pending/savepoints, flush, delivery.capi.clj / preupdate.clj — the only org.sqlite.jni interop.natives.clj — jar-bundled native extraction and loading.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |