sqlite-utils/docs
Claude f7ff3e2027
db.execute() write statements now commit automatically
Raw write statements previously opened an implicit transaction that
stayed open until something committed it - the write was visible on
the same connection, making it look saved, but was silently rolled
back when the connection closed. execute() now commits any implicit
transaction it opens, so raw writes behave like every other write
in the library: committed as soon as they run, unless an explicit
transaction (db.begin() or db.atomic()) is open, in which case they
join it.

Row-returning writes such as INSERT ... RETURNING via db.query()
commit once their rows have been iterated. atomic(), commit() and
rollback() now issue literal COMMIT/ROLLBACK statements, which have
identical semantics in every sqlite3 connection mode. The CLI bulk
command uses db.atomic() instead of 'with db.conn:'.

This simplifies the transaction contract to: everything commits
immediately unless you explicitly opened a transaction. Docs
updated throughout; changelog and upgrading guide cover the
breaking change for code that relied on rolling back uncommitted
execute() writes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnLnhsH25Nnv7LHhekUfPd
2026-07-04 23:15:01 +00:00
..
_static/js Removed trogon feature in favor of sqlite-util-tui 2025-01-10 17:15:02 -08:00
_templates Reformatted CLI examples in docs 2023-05-21 13:57:22 -07:00
.gitignore Initial project layout + database table creation tools 2018-07-28 06:46:17 -07:00
changelog.rst db.execute() write statements now commit automatically 2026-07-04 23:15:01 +00:00
cli-reference.rst Remove the no-op -d/--detect-types flag from insert and upsert 2026-07-04 19:15:31 +00:00
cli.rst New migrations system, ported from sqlite-migrate (#754) 2026-06-21 09:40:21 -07:00
codespell-ignore-words.txt Run codespell against source code too, refs #307 2021-08-03 10:06:08 -07:00
conf.py Type fixes now enforced by ty 2025-12-16 19:34:45 -08:00
contributing.rst dependency-groups.dev and uv in docs (#691) 2025-12-11 15:32:00 -08:00
index.rst Add upgrading guide to the documentation 2026-07-04 19:21:34 +00:00
installation.rst Use sqlean if available in environment (#560) 2023-06-25 16:25:51 -07:00
Makefile Add reference page to documentation using Sphinx autodoc (#312) 2021-08-10 16:09:28 -07:00
migrations.rst Add db.begin(), db.commit() and db.rollback() methods 2026-07-04 22:31:22 +00:00
plugins.rst It's return_db, not _return_db - refs #643 2024-11-08 12:13:05 -08:00
python-api.rst db.execute() write statements now commit automatically 2026-07-04 23:15:01 +00:00
reference.rst sqlite_utils.utils.flatten() function, closes #500 2022-10-18 11:00:35 -07:00
tutorial.ipynb Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
upgrading.rst db.execute() write statements now commit automatically 2026-07-04 23:15:01 +00:00