Jim Washington wrote at 2005-12-16 16:23 -0500: > ... >What seems to work for me now is the following as >mysqldbda.adapter.MySQLdbAdapter.isConnected() > >def isConnected(self): > try: > self._v_connection.ping() > except: > # not connected or ping did not restore MySQL connection > if self._v_connection is not None: > self._v_connection.close() > self._v_connection = None > return False > return True > >I am not well-versed in the intricacies of conflictError, so what else >should happen here? I do not see how there would be unresolved >transactions remaining, and the connection I need is now available or >soon will be established.
"isConnected" is fine as you cite it above. However, the action taken (by the caller) when "isConnected" returns "False" might be wrong. Reopening and then using the connection in this case is safe only when the connection was not yet used before in this same transaction. -- Dieter _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com