Skip to content

Move the README's SQLite section into Connecting, as the other two READMEs keep no store's section - #460

Merged
jasperblues merged 1 commit into
mainfrom
docs/readme-sqlite-to-docs
Nov 8, 2026
Merged

jasperblues merged 1 commit into
mainfrom
docs/readme-sqlite-to-docs

Conversation

@jasperblues

Copy link
Copy Markdown
Member

The README's "SQLite" section (added in #374) moves out: what it said, a graph in a file and what a transaction gives there, was already in Connecting, SQLite, at more length. The README keeps the pip install drivine # SQLite 3.45 or later… line and one link to that section, so it holds only installation, a quick start, the documentation links and the licence, as Drivine for TypeScript's and drivine4j's READMEs do.

Two lines in Connecting's "What a transaction gives" are corrected against the code:

  • Patches, not only saves and deletes, are run again outside a transaction when SQLite turns them away as contended: patch_one and patch_all go through _when_uncontended in drivine/manager/stateless_graph_object_manager.py, as save and delete do.
  • A connection you open yourself with sqlite3.connect was said to have no log and no busy timeout. It does write ahead to the log, as SQLite keeps WAL mode in the file once Drivine sets it, and Python's sqlite3 waits 5 seconds for a locked file by default. What it lacks is the foreign keys, BEGIN IMMEDIATE, the long-lock warning, the 30-second wait and Drivine's functions.

Nothing linked to the README's #sqlite anchor: not docs/, the site's import (drivine's website/scripts/import-readmes.mjs, which reads docs/), nor the other two READMEs. The site builds with these docs (DRIVINE_PYTHON_DOCS=docs npm run import-readmes && astro build in drivine's website/), and drivine.org/py/connecting/ has the corrected lines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant