details: https://code.tryton.org/tryton/commit/2d12e2c15e1a
branch: 7.0
user: Cédric Krier <[email protected]>
date: Thu Mar 05 08:10:46 2026 +0100
description:
Explicitly close sqlite connection
The context manage on Connection only commit the connection but it
should still
be explicitly closed.
Closes #13859
(grafted from b529128ca42c72ed76c0b19c71277f917488d05c)
diffstat:
trytond/trytond/backend/sqlite/database.py | 4 ++--
trytond/trytond/tests/test_tryton.py | 27 +++++++++++++++------------
2 files changed, 17 insertions(+), 14 deletions(-)
diffs (52 lines):
diff -r 6d435ebf5200 -r 2d12e2c15e1a trytond/trytond/backend/sqlite/database.py
--- a/trytond/trytond/backend/sqlite/database.py Wed Mar 18 12:01:17
2026 +0100
+++ b/trytond/trytond/backend/sqlite/database.py Thu Mar 05 08:10:46
2026 +0100
@@ -485,8 +485,8 @@
path = os.path.join(config.get('database', 'path'),
database_name + '.sqlite')
with sqlite.connect(path) as conn:
- cursor = conn.cursor()
- cursor.close()
+ conn.cursor()
+ conn.close()
@classmethod
def drop(cls, connection, database_name):
diff -r 6d435ebf5200 -r 2d12e2c15e1a trytond/trytond/tests/test_tryton.py
--- a/trytond/trytond/tests/test_tryton.py Wed Mar 18 12:01:17 2026 +0100
+++ b/trytond/trytond/tests/test_tryton.py Thu Mar 05 08:10:46 2026 +0100
@@ -165,19 +165,22 @@
finally:
database.put_connection(connection, True)
- with Transaction().start(DB_NAME, 0) as transaction, \
- sqlite.connect(file_) as conn2:
+ with Transaction().start(DB_NAME, 0) as transaction:
conn1 = transaction.connection
- if restore:
- conn2, conn1 = conn1, conn2
- if hasattr(conn1, 'backup'):
- conn1.backup(conn2)
- else:
- try:
- import sqlitebck
- except ImportError:
- return False
- sqlitebck.copy(conn1, conn2)
+ with sqlite.connect(file_) as conn2:
+ if restore:
+ in_, out = conn2, conn1
+ else:
+ in_, out = conn1, conn2
+ if hasattr(in_, 'backup'):
+ in_.backup(out)
+ else:
+ try:
+ import sqlitebck
+ except ImportError:
+ return False
+ sqlitebck.copy(in_, out)
+ conn2.close()
return True