code: def fetchone(self):
          
          try:
              result = self.__dbapi2_cursor.fetchone()
          except Exception, e:
              self.__connection.reconnect(None, self.__log_reconnect)
              self.__dbapi2_cursor = self.__connection._get_raw_cursor()
  
              result = self.__dbapi2_cursor.fetchone()
  
          if not result:
              return result
          else:
              return self.row(self.__col2idx_map, result)
docs: As in DBAPI2.0 (except the fact rows are not tuples but
          lists so if you try to modify them, you will succeed instead of
          the correct behaviour of raising an exception).
          Additionally every row returned by this class is addressable
          by column name besides the column position in the query.