docstr: Returns a list of entity columns
  Args:
      table_name (str): name of one of tables returned by self.get_tables()
  Returns:
      HandlerResponse: shoud have same columns as information_schema.columns
          (https://dev.mysql.com/doc/refman/8.0/en/information-schema-columns-table.html)
          Column 'COLUMN_NAME' is mandatory, other is optional. Hightly
          recomended to define also 'DATA_TYPE': it should be one of
          python data types (by default it str).
docstr_tok: ["Returns","a","list","of","entity","columns","Args",":","table_name","(","str",")",":","name","of","one","of","tables","returned","by","self.get_tables","(",")","Returns",":","HandlerResponse",":","shoud","have","same","columns","as","information_schema.columns","(","https",":","\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/information-schema-columns-table.html",")","Column","'COLUMN_NAME","'","is","mandatory",",","other","is","optional",".","Hightly","recomended","to","define","also","'DATA_TYPE","'",":","it","should","be","one","of","python","data","types","(","by","default","it","str",")","."]
code: def get_columns(self, table_name: str) -> StatusResponse:
      """Returns a list of entity columns
      Args:
          table_name (str): name of one of tables returned by self.get_tables()
      Returns:
          HandlerResponse: shoud have same columns as information_schema.columns
              (https://dev.mysql.com/doc/refman/8.0/en/information-schema-columns-table.html)
              Column 'COLUMN_NAME' is mandatory, other is optional. Hightly
              recomended to define also 'DATA_TYPE': it should be one of
              python data types (by default it str).
      """
  
      self.connect()
  
      result = self.connection.columns(table_name=table_name)
      try:
          if result:
              response = Response(
                  RESPONSE_TYPE.TABLE,
                  data_frame=pd.DataFrame(
                      [
                          result[i]["COLUMN_NAME"]
                          for i in range(len(result))
                      ],
                      columns=["COLUMN_NAME"],
                  ),
              )
          else:
              response = Response(RESPONSE_TYPE.OK)
  
      except Exception as e:
          logger.error(f"Error running while getting table {e} on ")
          response = Response(RESPONSE_TYPE.ERROR, error_message=str(e))
  
      return response
  
imports: from collections import OrderedDict
  from typing import Optional
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb.integrations.libs.base import DatabaseHandler
  from mindsdb.utilities import log
  from mindsdb_sql import parse_sql
  from mindsdb_sql.render.sqlalchemy_render import SqlalchemyRender
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse, RESPONSE_TYPE
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  import pandas
  import ibm_db_dbi
  from ibm_db_sa.ibm_db import DB2Dialect_ibm_db
label_desc: Use image node_id 8 for calling the DB2Handler obj's underlying member method code with example usage: obj.get_columns(table_name) and returns: response