[Neo-report] r2459 vincent - /trunk/neo/storage/database/btree.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 17 14:05:09 CET 2010


Author: vincent
Date: Wed Nov 17 14:05:09 2010
New Revision: 2459

Log:
Update btree's deleteTransaction implementation to current API.

Modified:
    trunk/neo/storage/database/btree.py

Modified: trunk/neo/storage/database/btree.py
==============================================================================
--- trunk/neo/storage/database/btree.py [iso-8859-1] (original)
+++ trunk/neo/storage/database/btree.py [iso-8859-1] Wed Nov 17 14:05:09 2010
@@ -383,23 +383,28 @@ class BTreeDatabaseManager(DatabaseManag
             else:
                 break
 
-    def deleteTransaction(self, tid, all=False):
+    def deleteTransaction(self, tid, oid_list=()):
         tid = util.u64(tid)
         self._popTransactionFromObj(self._tobj, tid)
         try:
             del self._ttrans[tid]
         except KeyError:
             pass
-        if all:
-            self._popTransactionFromObj(self._obj, tid)
-            try:
-                del self._trans[tid]
-            except KeyError:
-                pass
+        for oid in oid_list:
+            self._deleteObject(oid, serial=tid)
+        try:
+            del self._trans[tid]
+        except KeyError:
+            pass
 
     def deleteObject(self, oid, serial=None):
         u64 = util.u64
         oid = u64(oid)
+        if serial is not None:
+            serial = u64(serial)
+        self._deleteObject(oid, serial=serial)
+
+    def _deleteObject(self, oid, serial=None):
         obj = self._obj
         try:
             tserial = obj[oid]
@@ -409,7 +414,6 @@ class BTreeDatabaseManager(DatabaseManag
             if serial is None:
                 del obj[oid]
             else:
-                serial = u64(serial)
                 try:
                     del tserial[serial]
                 except KeyError:





More information about the Neo-report mailing list