docstr: return the function entry that matches the id provided.
     None if no such entry found.
  
  Arguments:
      id (int): id to be searched
docstr_tok: ["return","the","function","entry","that","matches","the","id","provided",".","None","if","no","such","entry","found",".","Arguments",":","id","(","int",")",":","id","to","be","searched"]
code: def get_entry_by_id(
      self, id: int, return_alchemy=False
  ) -> FunctionCatalogEntry:
      """return the function entry that matches the id provided.
         None if no such entry found.
  
      Arguments:
          id (int): id to be searched
      """
  
      function_obj = self.session.execute(
          select(self.model).filter(self.model._row_id == id)
      ).scalar_one_or_none()
      if function_obj:
          return (
              function_obj
              if return_alchemy
              else function_obj.as_dataclass()
          )
      return function_obj
  
file_path: evadb/evadb/catalog/services/function_catalog_service.py
imports: from typing import List
  from sqlalchemy.orm import Session
  from sqlalchemy.sql.expression import select
  from evadb.catalog.models.function_catalog import FunctionCatalog, FunctionCatalogEntry
  from evadb.catalog.models.utils import FunctionIOCatalogEntry, FunctionMetadataCatalogEntry
  from evadb.catalog.services.base_service import BaseService
  from evadb.catalog.services.function_io_catalog_service import FunctionIOCatalogService
  from evadb.catalog.services.function_metadata_catalog_service import FunctionMetadataCatalogService
  from evadb.utils.errors import CatalogError
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 4 for calling the FunctionCatalogService obj's underlying member method code with example usage: obj.get_entry_by_id(id, return_alchemy) and returns: function_obj, unknown