[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