code: def __init__(self, session):
      self.session = session
      self.integration_controller = session.integration_controller
      self.project_controller = ProjectController()
      self.database_controller = session.database_controller
  
      self.persis_datanodes = {}
  
      databases = self.database_controller.get_dict()
      if "files" in databases:
          self.persis_datanodes["files"] = IntegrationDataNode(
              "files",
              ds_type="file",
              integration_controller=self.session.integration_controller,
          )
  
      self.get_dataframe_funcs = {
          "TABLES": self._get_tables,
          "COLUMNS": self._get_columns,
          "SCHEMATA": self._get_schemata,
          "ENGINES": self._get_engines,
          "CHARACTER_SETS": self._get_charsets,
          "COLLATIONS": self._get_collations,
          "MODELS": self._get_models,
          "MODELS_VERSIONS": self._get_models_versions,
          "DATABASES": self._get_databases,
          "ML_ENGINES": self._get_ml_engines,
          "HANDLERS": self._get_handlers,
          "JOBS": self._get_jobs,
          "JOBS_HISTORY": self._get_jobs_history,
          "MDB_TRIGGERS": self._get_triggers,
          "CHATBOTS": self._get_chatbots,
          "KNOWLEDGE_BASES": self._get_knowledge_bases,
          "SKILLS": self._get_skills,
          "AGENTS": self._get_agents,
      }
      for table_name in self.information_schema:
          if table_name not in self.get_dataframe_funcs:
              self.get_dataframe_funcs[table_name] = partial(
                  self._get_empty_table, table_name
              )
  
imports: from functools import partial
  import pandas
  from mindsdb_sql.parser.ast import BinaryOperation, Constant, Identifier, Select, Join, Union, Insert, Delete
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb.api.executor.datahub.classes.tables_row import TABLES_ROW_TYPE, TablesRow
  from mindsdb.api.executor.datahub.datanodes.datanode import DataNode
  from mindsdb.api.executor.datahub.datanodes.integration_datanode import IntegrationDataNode
  from mindsdb.api.executor.datahub.datanodes.project_datanode import ProjectDataNode
  from mindsdb.api.executor import exceptions
  from mindsdb.api.executor.utilities.sql import query_df
  from mindsdb.interfaces.agents.agents_controller import AgentsController
  from mindsdb.interfaces.database.projects import ProjectController
  from mindsdb.interfaces.jobs.jobs_controller import JobsController
  from mindsdb.interfaces.skills.skills_controller import SkillsController
  from mindsdb.utilities import log
label_desc: Use image node_id 1 to create a new InformationSchemaDataNode object from inherited base classes: DataNode with example: obj = InformationSchemaDataNode(session)