• Adrian Hunter's avatar
    perf scripts python: exported-sql-viewer.py: Fix Array TypeError · fd931b2e
    Adrian Hunter authored
    The 'Array' class is present in more than one python standard library.
    In some versions of Python 3, the following error occurs:
    
    Traceback (most recent call last):
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 4702, in <lambda>
        reports_menu.addAction(CreateAction(label, "Create a new window displaying branch events", lambda a=None,x=dbid: self.NewBranchView(x), self))
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 4727, in NewBranchView
        BranchWindow(self.glb, event_id, ReportVars(), self)
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 3208, in __init__
        self.model = LookupCreateModel(model_name, lambda: BranchModel(glb, event_id, report_vars.where_clause))
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 343, in LookupCreateModel
        model = create_fn()
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 3208, in <lambda>
        self.model = LookupCreateModel(model_name, lambda: BranchModel(glb, event_id, report_vars.where_clause))
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 3124, in __init__
        self.fetcher = SQLFetcher(glb, sql, prep, self.AddSample)
      File "tools/perf/scripts/python/exported-sql-viewer.py", line 2658, in __init__
        self.buffer = Array(c_char, self.buffer_size, lock=False)
    TypeError: abstract class
    
    This apparently happens because Python can be inconsistent about which
    class of the name 'Array' gets imported. Fix by importing explicitly by
    name so that only the desired 'Array' gets imported.
    
    Fixes: 8392b74b ("perf scripts python: exported-sql-viewer.py: Add ability to display all the database tables")
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: stable@vger.kernel.org
    Link: http://lore.kernel.org/lkml/20210521092053.25683-3-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    fd931b2e
exported-sql-viewer.py 156 KB