sqlite-utils/tests
Simon Willison 6df6da1a8e Rename ensure_autocommit_off() to ensure_autocommit_on(), closes #705
The ensure_autocommit_off() context manager was misleadingly named: it
sets isolation_level = None on the underlying sqlite3 connection, which
puts the driver INTO autocommit mode (no implicit transactions) - the
opposite of what the name and docstring claimed.

The behavior was always correct for its call sites, which need
autocommit to run PRAGMA statements like journal_mode=wal. This renames
the method to ensure_autocommit_on() with an accurate docstring, updates
the three internal call sites, adds tests, and documents the rename in
the changelog and the 3.x to 4.0 upgrading guide. The old name is
removed outright since 4.0 permits breaking changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 21:50:20 -07:00
..
sniff sqlite-utils insert --sniff option, closes #230 2021-02-14 11:23:12 -08:00
__init__.py Initial project layout + database table creation tools 2018-07-28 06:46:17 -07:00
conftest.py Add --sqlite-autocommit pytest option 2026-07-04 23:19:51 +00:00
ext.c Support entrypoints for --load-extension (#473) 2022-08-26 22:55:47 -07:00
test_analyze.py Use sqlean if available in environment (#560) 2023-06-25 16:25:51 -07:00
test_analyze_tables.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_atomic.py Replace SQL prefix matching with a first-token scanner 2026-07-05 11:49:59 -07:00
test_attach.py db.attach(alias, filepath) method, closes #113 2021-02-18 20:56:32 -08:00
test_cli.py Preserve duplicate column names in query results 2026-07-05 21:20:39 -07:00
test_cli_bulk.py --functions can take filenames, can be used multiple times (#681) 2025-11-23 21:46:51 -08:00
test_cli_convert.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_cli_insert.py Polish: clearer errors, corrected docstrings, setuptools pin 2026-07-04 19:13:15 +00:00
test_cli_memory.py Test for CSV headers with memory command, refs #702, #707 2026-06-21 16:05:10 -07:00
test_cli_migrate.py migrate --list is now read-only 2026-07-04 19:10:56 +00:00
test_column_affinity.py Tracer mechanism for showing underlying SQL queries 2020-09-07 14:56:59 -07:00
test_constructor.py db.execute() write statements now commit automatically 2026-07-04 23:15:01 +00:00
test_conversions.py Now complies with flake8, refs #291 2021-06-22 18:22:08 -07:00
test_convert.py Raise ValueError instead of AssertionError for invalid arguments 2026-07-04 19:19:24 +00:00
test_create.py Raise ValueError instead of AssertionError for invalid arguments 2026-07-04 19:19:24 +00:00
test_create_view.py Raise ValueError instead of AssertionError for invalid arguments 2026-07-04 19:19:24 +00:00
test_default_value.py Handle db.table(table_name).insert({}), closes #759 2026-06-22 12:00:05 -07:00
test_delete.py Fix delete_where() leaving the connection in an open transaction 2026-07-04 17:57:35 +00:00
test_docs.py More type annotations (#697) 2025-12-16 22:11:47 -08:00
test_duplicate.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_enable_counts.py Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
test_extract.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_extracts.py Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
test_foreign_keys.py add_foreign_key() on_delete= and on_update= parameters, closes #530 2026-07-05 15:49:20 -07:00
test_fts.py Preserve duplicate column names in query results 2026-07-05 21:20:39 -07:00
test_get.py Refactored tests into new test_rows.py, refs #76 2020-04-15 18:04:55 -07:00
test_gis.py Apply Black to tests/test_gis.py 2026-07-05 21:17:41 -07:00
test_hypothesis.py Now complies with flake8, refs #291 2021-06-22 18:22:08 -07:00
test_insert_files.py insert-files multiple --pk support, closes #621 2024-03-16 17:33:31 -07:00
test_introspect.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_list_mode.py table.insert_all() and table.upsert_all() now take generators of lists/tuples 2025-11-23 12:17:23 -08:00
test_lookup.py Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
test_m2m.py Raise ValueError instead of AssertionError for invalid arguments 2026-07-04 19:19:24 +00:00
test_migrations.py Polish: clearer errors, corrected docstrings, setuptools pin 2026-07-04 19:13:15 +00:00
test_plugins.py fix: Plugins are still loaded when running tests (#719) 2026-06-21 16:14:45 -07:00
test_query.py Preserve duplicate column names in query results 2026-07-05 21:20:39 -07:00
test_recipes.py table.insert_all() and table.upsert_all() now take generators of lists/tuples 2025-11-23 12:17:23 -08:00
test_recreate.py Raise ValueError instead of AssertionError for invalid arguments 2026-07-04 19:19:24 +00:00
test_register_function.py Database as a context manager, fixed many pytest warnings 2025-12-11 16:56:12 -08:00
test_rows.py Preserve duplicate column names in query results 2026-07-05 21:20:39 -07:00
test_rows_from_file.py Type fixes now enforced by ty 2025-12-16 19:34:45 -08:00
test_sniff.py Fix PytestRemovedIn10Warning in test_sniff 2026-07-04 23:20:31 +00:00
test_suggest_column_types.py Fixed bug with null columns, closes #95 2020-03-23 13:31:06 -07:00
test_tracer.py Fix broken tracer test 2026-06-21 16:29:32 -07:00
test_transform.py Test against Python 3.15-dev, bump ty and Black (#738) 2026-05-17 16:52:48 -07:00
test_update.py Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
test_upsert.py upsert() now requires a value for every primary key column 2026-07-04 18:43:37 +00:00
test_utils.py Preserve duplicate column names in query results 2026-07-05 21:20:39 -07:00
test_wal.py Rename ensure_autocommit_off() to ensure_autocommit_on(), closes #705 2026-07-05 21:50:20 -07:00