class_docstr: This handler handles connection and execution of the Solr SQL statements.
docstr: Show details about the table
docstr_tok: ["Show","details","about","the","table"]
code: def get_columns(self, table_name: str) -> Response:
      """
      Show details about the table
      """
      need_to_close = self.is_connected is False
      connection = self.connect()
  
      column_df = pd.DataFrame([], columns=["column_name", "data_type"])
  
      try:
          response_table = self.get_tables()
          df = response_table.data_frame
          if not len(df):
              return column_df
          df = df[df["table_name"] == table_name]
          tbl_dtl_arr = df.iloc[0][["table_schema", "table_name"]]
          scan = connection.scan(tbl_dtl_arr[0], tbl_dtl_arr[1])
          res = scan.results()
          data_df = pd.DataFrame.from_records([r[2] for r in res])
          column_df = pd.DataFrame(data_df.dtypes).reset_index()
          column_df.columns = ["column_name", "data_type"]
          response = Response(RESPONSE_TYPE.TABLE, column_df)
      except Exception as e:
          response = Response(RESPONSE_TYPE.ERROR, error_message=str(e))
  
      if need_to_close is True:
          self.disconnect()
  
      return response
  
imports: from typing import Optional
  from collections import OrderedDict
  import pandas
  import aerospike
  import re
  import duckdb
  from mindsdb_sql import parse_sql
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb.integrations.libs.base import DatabaseHandler
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse, RESPONSE_TYPE
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
label_desc: Use image node_id 10 for calling the AerospikeHandler obj's underlying member method code with example usage: obj.get_columns(table_name) and returns: response, column_df