[Spambayes-checkins] spambayes/spambayes storage.py,1.52,1.53
Tony Meyer
anadelonbrin at users.sourceforge.net
Sat Nov 26 06:07:40 CET 2005
Update of /cvsroot/spambayes/spambayes/spambayes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3010/spambayes
Modified Files:
storage.py
Log Message:
Abort failed transactions.
Index: storage.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/storage.py,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -d -r1.52 -r1.53
*** storage.py 15 Nov 2005 00:22:15 -0000 1.52
--- storage.py 26 Nov 2005 05:07:32 -0000 1.53
***************
*** 445,455 ****
c.execute("select word from bayes")
rows = self.fetchall(c)
! # There is probably some clever way to do this with map or
! # something, but I don't know what it is. We want the first
! # element from all the items in 'rows'
! keys = []
! for r in rows:
! keys.append(r[0])
! return keys
--- 445,449 ----
c.execute("select word from bayes")
rows = self.fetchall(c)
! return [r[0] for r in rows]
***************
*** 758,764 ****
import transaction
commit = transaction.commit
else:
commit = ZODB.Transaction.get_transaction().commit
! from ZODB.POSException import ConflictError
assert self.closed == False, "Can't store a closed database"
--- 752,761 ----
import transaction
commit = transaction.commit
+ abort = transaction.abort
else:
commit = ZODB.Transaction.get_transaction().commit
! abort = ZODB.Transaction.get_transaction().abort
! from ZODB.POSException import ConflictError
! from ZODB.POSException import TransactionFailedError
assert self.closed == False, "Can't store a closed database"
***************
*** 775,778 ****
--- 772,782 ----
if options["globals", "verbose"]:
print >> sys.stderr, "Conflict on commit", self.db_name
+ abort()
+ except TransactionFailedError:
+ # Saving isn't working. Try to abort, but chances are that
+ # restarting is needed.
+ print >> sys.stderr, "Storing failed. Need to restart.", \
+ self.db_name
+ abort()
def close(self):
More information about the Spambayes-checkins
mailing list