details:   https://code.tryton.org/tryton/commit/73189c43cc8b
branch:    7.0
user:      Cédric Krier <[email protected]>
date:      Thu Apr 30 21:39:31 2026 +0200
description:
        Test if there is a connection on the transaction before rollback or put
diffstat:

 trytond/trytond/transaction.py |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (25 lines):

diff -r ae4ca7084e4c -r 73189c43cc8b trytond/trytond/transaction.py
--- a/trytond/trytond/transaction.py    Fri Apr 24 16:14:05 2026 +0200
+++ b/trytond/trytond/transaction.py    Thu Apr 30 21:39:31 2026 +0200
@@ -254,8 +254,9 @@
                         else:
                             self.rollback()
                     finally:
-                        self.database.put_connection(
-                            self.connection, self.close)
+                        if self.connection:
+                            self.database.put_connection(
+                                self.connection, self.close)
                 finally:
                     self.database = None
                     self.readonly = False
@@ -379,7 +380,8 @@
                 datamanager.tpc_abort(self)
         Cache.rollback(self)
         self._clear_log_records()
-        self.connection.rollback()
+        if self.connection:
+            self.connection.rollback()
 
     def join(self, datamanager):
         try:

Reply via email to