server/sources/native.py
branchstable
changeset 5605 2604545d7dd9
parent 5515 513af9be9e37
child 5606 61b28589d33f
child 5639 4acb860159e4
equal deleted inserted replaced
5604:60a92bf32a18 5605:2604545d7dd9
   440         except (self.OperationalError, self.InterfaceError):
   440         except (self.OperationalError, self.InterfaceError):
   441             # FIXME: better detection of deconnection pb
   441             # FIXME: better detection of deconnection pb
   442             self.warning("trying to reconnect")
   442             self.warning("trying to reconnect")
   443             session.pool.reconnect(self)
   443             session.pool.reconnect(self)
   444             cursor = self.doexec(session, sql, args)
   444             cursor = self.doexec(session, sql, args)
       
   445         except (self.DbapiError,), exc:
       
   446             # We get this one with pyodbc and SQL Server when connection was reset
       
   447             if exc.args[0] == '08S01':
       
   448                 self.warning("trying to reconnect")
       
   449                 session.pool.reconnect(self)
       
   450                 cursor = self.doexec(session, sql, args)
       
   451             else:
       
   452                 raise
       
   453             
   445         results = self.process_result(cursor, cbs)
   454         results = self.process_result(cursor, cbs)
   446         assert dbg_results(results)
   455         assert dbg_results(results)
   447         return results
   456         return results
   448 
   457 
   449     def flying_insert(self, table, session, union, args=None, varmap=None):
   458     def flying_insert(self, table, session, union, args=None, varmap=None):