mirror of
https://github.com/simonw/datasette.git
synced 2026-06-08 10:06:57 +02:00
Fixed hundreds of database connection closing warnings
From 409 warnings down to 52 warnings. Claude Code says: Fixed connection leaks in: 1. datasette/utils/sqlite.py - _sqlite_version() now closes connection 2. datasette/cli.py - --create flag now closes connection 3. datasette/app.py - _versions() now closes connection 4. datasette/utils/__init__.py - detect_json1() now closes connection when created internally 5. tests/conftest.py - pytest_report_header() now closes connection 6. tests/utils.py - has_load_extension() now closes connection 7. tests/fixtures.py - app_client_no_files and CLI fixtures now close connections 8. tests/test_api_write.py - ds_write fixture closes both connections 9. tests/test_cli.py - Multiple test functions now close connections 10. tests/test_config_dir.py - config_dir and config_dir_client fixtures now close connections 11. tests/test_crossdb.py - Loop connections now closed 12. tests/test_internals_database.py - Test setup connections now closed 13. tests/test_plugins.py - view_names_client fixture and test now close connections 14. tests/test_utils.py - Multiple test functions now close connections Refs #2614
This commit is contained in:
parent
3b4c7e1abe
commit
35ea721469
14 changed files with 75 additions and 28 deletions
|
|
@ -542,7 +542,9 @@ async def test_execute_write_fn_exception(db):
|
|||
@pytest.mark.timeout(1)
|
||||
async def test_execute_write_fn_connection_exception(tmpdir, app_client):
|
||||
path = str(tmpdir / "immutable.db")
|
||||
sqlite3.connect(path).execute("vacuum")
|
||||
conn = sqlite3.connect(path)
|
||||
conn.execute("vacuum")
|
||||
conn.close()
|
||||
db = Database(app_client.ds, path=path, is_mutable=False)
|
||||
app_client.ds.add_database(db, name="immutable-db")
|
||||
|
||||
|
|
@ -746,19 +748,23 @@ async def test_replace_database(tmpdir):
|
|||
path1 = str(tmpdir / "data1.db")
|
||||
(tmpdir / "two").mkdir()
|
||||
path2 = str(tmpdir / "two" / "data1.db")
|
||||
sqlite3.connect(path1).executescript(
|
||||
conn1 = sqlite3.connect(path1)
|
||||
conn1.executescript(
|
||||
"""
|
||||
create table t (id integer primary key);
|
||||
insert into t (id) values (1);
|
||||
insert into t (id) values (2);
|
||||
"""
|
||||
)
|
||||
sqlite3.connect(path2).executescript(
|
||||
conn1.close()
|
||||
conn2 = sqlite3.connect(path2)
|
||||
conn2.executescript(
|
||||
"""
|
||||
create table t (id integer primary key);
|
||||
insert into t (id) values (1);
|
||||
"""
|
||||
)
|
||||
conn2.close()
|
||||
datasette = Datasette([path1])
|
||||
db = datasette.get_database("data1")
|
||||
count = (await db.execute("select count(*) from t")).first()[0]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue