class_docstr: The `TableCatalog` catalog stores information about all tables (structured, media, etc.) and materialized views. It has the following columns, not all of which are relevant for all table types.
  `_row_id:` an autogenerated unique identifier.
  `_name:` the name of the table, view, etc.
  `_file_url:` the path to the data file on disk
  `_table_type:` the type of the table (refer to TableType).
code: def as_dataclass(self) -> "TableCatalogEntry":
      column_entries = [
          col_obj.as_dataclass() for col_obj in self._columns
      ]
      return TableCatalogEntry(
          row_id=self._row_id,
          name=self._name,
          file_url=self._file_url,
          identifier_column=self._identifier_column,
          table_type=self._table_type,
          columns=column_entries,
      )
  
file_path: evadb/evadb/catalog/models/table_catalog.py
imports: from sqlalchemy import Column, Enum, String
  from sqlalchemy.orm import relationship
  from evadb.catalog.catalog_type import TableType
  from evadb.catalog.models.base_model import BaseModel
  from evadb.catalog.models.utils import TableCatalogEntry
label_desc: Use image node_id 2 for calling the TableCatalog obj's underlying member method code with example usage: obj.as_dataclass() and returns: TableCatalogEntry