code: def fetch_fieldnames(self, sql: str, *args) -> List[str]:
          
          self.ensure_db_open()
          cursor = self.db.cursor()
          self.db_exec_with_cursor(cursor, sql, *args)
          try:
              return [i[0] for i in cursor.description]
          except:  # nopep8
              log.exception("fetch_fieldnames: SQL was: " + sql)
              raise
docs: Executes SQL; returns just the output fieldnames.