[z3-checkins] r41274 - z3/sqlos/trunk/src/sqlos
kobold at codespeak.net
kobold at codespeak.net
Sun Mar 25 13:46:40 CEST 2007
Author: kobold
Date: Sun Mar 25 13:46:40 2007
New Revision: 41274
Modified:
z3/sqlos/trunk/src/sqlos/adapter.py
Log:
Filter Retry exceptions: this is required for serialized database connections.
Modified: z3/sqlos/trunk/src/sqlos/adapter.py
==============================================================================
--- z3/sqlos/trunk/src/sqlos/adapter.py (original)
+++ z3/sqlos/trunk/src/sqlos/adapter.py Sun Mar 25 13:46:40 2007
@@ -22,6 +22,7 @@
from sqlobject.converters import registerConverter
from sqlobject.mysql import mysqlconnection
from zope.rdb.interfaces import DatabaseException
+from zope.publisher.interfaces import Retry
from zope.app.container.interfaces import INameChooser
from zope.interface import implements
@@ -73,6 +74,8 @@
def _executeRetry(self, conn, cursor, query):
try:
return cursor.execute(query)
+ except Retry:
+ raise
except Exception, exc:
raise DatabaseException(str(exc.args))
@@ -84,6 +87,8 @@
except DatabaseException:
raise # We may have already raised Database exception in
# _executeRetry, so we re-raise it
+ except Retry:
+ raise
except Exception, exc:
raise DatabaseException, tuple(exc.args)
finally:
@@ -120,6 +125,8 @@
def _executeRetry(*args, **kw):
try:
return mysqlconnection.MySQLConnection._executeRetry(*args, **kw)
+ except Retry:
+ raise
except Exception, exc:
raise DatabaseException(str(exc.args))
More information about the z3-checkins
mailing list