docstr: Get the table catalog entry with given table name.
  Arguments:
      database_name  (str): Database name
  Returns:
      DatabaseCatalogEntry - catalog entry for given database name
docstr_tok: ["Get","the","table","catalog","entry","with","given","table","name",".","Arguments",":","database_name","(","str",")",":","Database","name","Returns",":","DatabaseCatalogEntry","-","catalog","entry","for","given","database","name"]
code: def get_entry_by_name(
      self, database_name: str
  ) -> DatabaseCatalogEntry:
      """
      Get the table catalog entry with given table name.
      Arguments:
          database_name  (str): Database name
      Returns:
          DatabaseCatalogEntry - catalog entry for given database name
      """
      entry = self.session.execute(
          select(self.model).filter(self.model._name == database_name)
      ).scalar_one_or_none()
      if entry:
          return entry.as_dataclass()
      return entry
  
file_path: evadb/evadb/catalog/services/database_catalog_service.py
imports: from sqlalchemy.orm import Session
  from sqlalchemy.sql.expression import select
  from evadb.catalog.models.database_catalog import DatabaseCatalog
  from evadb.catalog.models.utils import DatabaseCatalogEntry
  from evadb.catalog.services.base_service import BaseService
  from evadb.utils.errors import CatalogError
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 3 for calling the DatabaseCatalogService obj's underlying member method code with example usage: obj.get_entry_by_name(database_name) and returns: entry, entry