docstr: return the function cost entry that matches the name provided.
     None if no such entry found.
  
  Arguments:
      name (str): name to be searched
docstr_tok: ["return","the","function","cost","entry","that","matches","the","name","provided",".","None","if","no","such","entry","found",".","Arguments",":","name","(","str",")",":","name","to","be","searched"]
code: def get_entry_by_name(self, name: str) -> FunctionCostCatalogEntry:
      """return the function cost entry that matches the name provided.
         None if no such entry found.
  
      Arguments:
          name (str): name to be searched
      """
  
      try:
          function_obj = self.session.execute(
              select(self.model).filter(
                  self.model._function_name == name
              )
          ).scalar_one_or_none()
          if function_obj:
              return function_obj.as_dataclass()
          return None
      except Exception as e:
          raise CatalogError(
              f"Error while getting entry for function {name} from FunctionCostCatalog: {str(e)}"
          )
  
file_path: evadb/evadb/catalog/services/function_cost_catalog_service.py
imports: from sqlalchemy.orm import Session
  from sqlalchemy.sql.expression import select
  from evadb.catalog.models.function_cost_catalog import FunctionCostCatalog, FunctionCostCatalogEntry
  from evadb.catalog.services.base_service import BaseService
  from evadb.utils.errors import CatalogError
label_desc: Use image node_id 4 for calling the FunctionCostCatalogService obj's underlying member method code with example usage: obj.get_entry_by_name(name) and returns: None, function_obj