class_docstr: This handler handles connection and execution of the SurrealDB statements.
class_docstr_tok: ["This","handler","handles","connection","and","execution","of","the","SurrealDB","statements","."]
docstr: Return list of columns in table
  Args:
      table (str): name of the table to get column names and types from.
  Returns:
      HandlerResponse
docstr_tok: ["Return","list","of","columns","in","table","Args",":","table","(","str",")",":","name","of","the","table","to","get","column","names","and","types","from",".","Returns",":","HandlerResponse"]
code: def get_columns(self, table: str) -> Response:
      """Return list of columns in table
      Args:
          table (str): name of the table to get column names and types from.
      Returns:
          HandlerResponse
      """
      conn = self.connect()
      # get name and type of each column in the table
      columns, types = column_info(conn, table)
  
      # construct pandas dataframe
      df = pd.DataFrame(columns, columns=["table_name"])
      df["data_type"] = types
  
      response = Response(RESPONSE_TYPE.TABLE, df)
      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.integrations.libs.response import HandlerStatusResponse, HandlerResponse, RESPONSE_TYPE
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from .utils.surreal_get_info import *
  import pysurrealdb
  import pandas
label_desc: Use image node_id 8 for calling the SurrealDBHandler obj's underlying member method code with example usage: obj.get_columns(table) and returns: response