def execdirect(self, query_string):
        if not self.connection:
            self.close()
            
        self._free_stmt()
        self._last_param_types = None
        self.statement = None
        if type(query_string) == unicode:
            c_query_string = wchar_pointer(UCS_buf(query_string))
            ret = ODBC_API.SQLExecDirectW(self.stmt_h, c_query_string, len(query_string))
        else:
            c_query_string = ctypes.c_char_p(query_string)
            ret = ODBC_API.SQLExecDirect(self.stmt_h, c_query_string, len(query_string))
        check_success(self, ret)
        self._NumOfRows()
        self._UpdateDesc()
        #self._BindCols()
        return self
The formatting process uses several nested generators; which of
dataset/ETHPy150Open harryliu/edwin/edwinServer/site_packages/pypyodbc.py/Cursor.execdirect--crossover with--dataset/ETHPy150Open adieu/allbuttonspressed/pygments/formatters/html.py/HtmlFormatter.format_unencoded