server/session.py
branchstable
changeset 5108 8495d580a580
parent 5074 bc481dab93d4
child 5130 929984f017e6
equal deleted inserted replaced
5107:3694bd379513 5108:8495d580a580
   276 
   276 
   277     def system_sql(self, sql, args=None, rollback_on_failure=True):
   277     def system_sql(self, sql, args=None, rollback_on_failure=True):
   278         """return a sql cursor on the system database"""
   278         """return a sql cursor on the system database"""
   279         if not sql.split(None, 1)[0].upper() == 'SELECT':
   279         if not sql.split(None, 1)[0].upper() == 'SELECT':
   280             self.mode = 'write'
   280             self.mode = 'write'
   281         return self.pool.source('system').doexec(self, sql, args,
   281         source = self.pool.source('system')
   282                                                  rollback=rollback_on_failure)
   282         try:
       
   283             return source.doexec(self, sql, args, rollback=rollback_on_failure)
       
   284         except (source.OperationalError, source.InterfaceError):
       
   285             source.warning("trying to reconnect")
       
   286             self.pool.reconnect(self)
       
   287             return source.doexec(self, sql, args, rollback=rollback_on_failure)
   283 
   288 
   284     def set_language(self, language):
   289     def set_language(self, language):
   285         """i18n configuration for translation"""
   290         """i18n configuration for translation"""
   286         vreg = self.vreg
   291         vreg = self.vreg
   287         language = language or self.user.property_value('ui.language')
   292         language = language or self.user.property_value('ui.language')