def _do_execute(self, sql):
    try:
        self._cursor_description = None
        self.fields = None
        self.result = self.connection.execute(sql)
        self._cursor_description = self.result._cursor_description()
        self._fields = self._get_cursor_fields()
    except Exception as E:
        if ('not open' in get_error_str(E)):
            pass
        else:
            log(Exception(('Error for SQL:\n' + sql)))
            raise E
def _do_execute(self, sql):
    try:
        self._cursor_description = None
        self.fields = None
        self.result = self.connection.execute(sql)
        self._cursor_description = self.result._cursor_description()
        self._fields = self._get_cursor_fields()
    except Exception as E:
        if ('not open' in get_error_str(E)):
            pass
        else:
            log(Exception(('Error for SQL:\n' + sql)))
            raise E