class_docstr: This handler handles connection and execution of the Apache Pinot statements.
class_docstr_tok: ["This","handler","handles","connection","and","execution","of","the","Apache","Pinot","statements","."]
docstr: Return list of entities that will be accessible as tables.
  Returns:
      HandlerResponse
docstr_tok: ["Return","list","of","entities","that","will","be","accessible","as","tables",".","Returns",":","HandlerResponse"]
code: def get_tables(self) -> StatusResponse:
      """
      Return list of entities that will be accessible as tables.
      Returns:
          HandlerResponse
      """
  
      api_url = f"{self.connection_data['host']}:{self.connection_data['controller_port']}/tables"
      try:
          result = requests.get(api_url)
      except InvalidSchema as e:
          api_url = f"{self.connection_data['scheme']}://{api_url}"
          result = requests.get(api_url)
  
      response = Response(
          RESPONSE_TYPE.TABLE,
          data_frame=pd.DataFrame(
              json.loads(result.content)["tables"],
              columns=["table_name"],
          ),
      )
  
      return response
  
imports: from typing import Optional
  from collections import OrderedDict
  import pandas
  import pinotdb
  import requests
  from requests.exceptions import InvalidSchema
  import json
  from mindsdb_sql import parse_sql
  from mindsdb_sql.render.sqlalchemy_render import SqlalchemyRender
  from mindsdb.integrations.libs.base import DatabaseHandler
  from pinotdb.sqlalchemy import PinotDialect
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb.utilities import log
  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 8 for calling the PinotHandler obj's underlying member method code with example usage: obj.get_tables() and returns: response