server/sources/native.py
changeset 5627 a7e40cccdc9b
parent 5557 1a534c596bff
parent 5625 6ee2a7b6f194
child 5655 ef903fff826d
equal deleted inserted replaced
5611:55366f5b7a9f 5627:a7e40cccdc9b
   442         except (self.OperationalError, self.InterfaceError):
   442         except (self.OperationalError, self.InterfaceError):
   443             # FIXME: better detection of deconnection pb
   443             # FIXME: better detection of deconnection pb
   444             self.warning("trying to reconnect")
   444             self.warning("trying to reconnect")
   445             session.pool.reconnect(self)
   445             session.pool.reconnect(self)
   446             cursor = self.doexec(session, sql, args)
   446             cursor = self.doexec(session, sql, args)
   447         results = self.process_result(cursor, cbs)
   447         except (self.DbapiError,), exc:
       
   448             # We get this one with pyodbc and SQL Server when connection was reset
       
   449             if exc.args[0] == '08S01':
       
   450                 self.warning("trying to reconnect")
       
   451                 session.pool.reconnect(self)
       
   452                 cursor = self.doexec(session, sql, args)
       
   453             else:
       
   454                 raise
       
   455         results = self.process_result(cursor, cbs, session=session)
   448         assert dbg_results(results)
   456         assert dbg_results(results)
   449         return results
   457         return results
   450 
   458 
   451     def flying_insert(self, table, session, union, args=None, varmap=None):
   459     def flying_insert(self, table, session, union, args=None, varmap=None):
   452         """similar as .syntax_tree_search, but inserts data in the
   460         """similar as .syntax_tree_search, but inserts data in the