class_docstr: This context is used to store information that is useful during the process of binding a statement (such as a SELECT statement) to the catalog. It stores the following information:
  
  Args:
      `_table_alias_map`: Maintains a mapping from table_alias to corresponding
      catalog table entry
      `_derived_table_alias_map`: Maintains a mapping from derived table aliases,
      such as subqueries or function expressions, to column alias maps for all the
      corresponding projected columns. For example, in the following queries, the
      `_derived_table_alias_map` attribute would contain:
  
      `Select * FROM (SELECT id1, id2 FROM table) AS A` :
          `{A: {id1: table.col1, id2: table.col2}}`
      `Select * FROM video LATERAL JOIN func AS T(a, b)` :
          `{T: {a: func.obj1, b:func.obj2}}`
docstr: Find the column object in table alias map
  Arguments:
      col_name (str): column name
      alias (str): alias name
  
  Returns:
      column object
docstr_tok: ["Find","the","column","object","in","table","alias","map","Arguments",":","col_name","(","str",")",":","column","name","alias","(","str",")",":","alias","name","Returns",":","column","object"]
code: def _check_table_alias_map(
      self, alias, col_name
  ) -> ColumnCatalogEntry:
      """
      Find the column object in table alias map
      Arguments:
          col_name (str): column name
          alias (str): alias name
  
      Returns:
          column object
      """
      table_obj = self._table_alias_map.get(alias, None)
      if table_obj is not None:
          if table_obj.table_type == TableType.NATIVE_DATA:
              for column_catalog_entry in table_obj.columns:
                  if column_catalog_entry.name == col_name:
                      return column_catalog_entry
          else:
              return self._catalog().get_column_catalog_entry(
                  table_obj, col_name
              )
  
imports: from typing import Callable, Dict, List, Tuple, Union
  from thefuzz import process
  from evadb.binder.binder_utils import BinderError, check_data_source_and_table_are_valid, create_table_catalog_entry_for_data_source
  from evadb.catalog.catalog_type import TableType
  from evadb.catalog.models.column_catalog import ColumnCatalogEntry
  from evadb.catalog.models.function_io_catalog import FunctionIOCatalogEntry
  from evadb.catalog.models.table_catalog import TableCatalogEntry
  from evadb.expression.function_expression import FunctionExpression
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.third_party.databases.interface import get_database_handler
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 6 for calling the StatementBinderContext obj's underlying member method code with example usage: obj._check_table_alias_map(alias, col_name) and returns: self, column_catalog_entry