mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-09-18 22:44:10 +02:00
fix: auto-commit delete_where()
This commit is contained in:
parent
8d74ffc932
commit
fcbab3649d
2 changed files with 18 additions and 3 deletions
|
|
@ -2905,9 +2905,10 @@ class Table(Queryable):
|
|||
sql = "delete from {}".format(quote_identifier(self.name))
|
||||
if where is not None:
|
||||
sql += " where " + where
|
||||
self.db.execute(sql, where_args or [])
|
||||
if analyze:
|
||||
self.analyze()
|
||||
with self.db.conn:
|
||||
self.db.execute(sql, where_args or [])
|
||||
if analyze:
|
||||
self.analyze()
|
||||
return self
|
||||
|
||||
def update(
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
from sqlite_utils import Database
|
||||
def test_delete_rowid_table(fresh_db):
|
||||
table = fresh_db["table"]
|
||||
table.insert({"foo": 1}).last_pk
|
||||
|
|
@ -32,6 +33,19 @@ def test_delete_where_all(fresh_db):
|
|||
assert table.count == 0
|
||||
|
||||
|
||||
def test_delete_where_all_auto_commits(db_path):
|
||||
db = Database(db_path)
|
||||
table = db["table"]
|
||||
table.insert_all(({"id": i} for i in range(1, 6)), pk="id")
|
||||
assert table.count == 5
|
||||
|
||||
table.delete_where()
|
||||
assert table.count == 0
|
||||
|
||||
reopened = Database(db_path)
|
||||
assert reopened["table"].count == 0
|
||||
|
||||
|
||||
def test_delete_where_analyze(fresh_db):
|
||||
table = fresh_db["table"]
|
||||
table.insert_all(({"id": i, "i": i} for i in range(10)), pk="id")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue