code: def columns_in_filters(filters):
      
      if not filters:
          return []
  
      if not isinstance(filters, str):
          filters = ' '.join(filters)
  
      columns = []
      reserved = {'and', 'or', 'in', 'not'}
  
      for toknum, tokval, _, _, _ in generate_tokens(StringIO(filters).readline):
          if toknum == NAME and tokval not in reserved:
              columns.append(tokval)
  
      return list(tz.unique(columns))
docs: Returns a list of the columns used in a set of query filters.
  
      Parameters
      ----------
      filters : list of str or str
          List of the filters as passed passed to ``apply_filter_query``.
  
      Returns
      -------
      columns : list of str
          List of all the strings mentioned in the filters.