class_docstr: The `FunctionMetadataCatalog` catalog stores information about the metadata of user-defined functions (Functions).
  Metadata is implemented a key-value pair that can be used to store additional information about the Function.
  It maintains the following information for each attribute:
      `_row_id:` an autogenerated identifier
      `_key: ` key/identifier of the metadata (as a string)
      `_value:` value of the metadata (as a string)
      `_function_id:` the `_row_id` of the `FunctionCatalog` entry to which the attribute belongs
code: def as_dataclass(self) -> "FunctionMetadataCatalogEntry":
      return FunctionMetadataCatalogEntry(
          row_id=self._row_id,
          key=self._key,
          value=self._value,
          function_id=self._function_id,
          function_name=self._function._name,
      )
  
imports: from sqlalchemy import Column, ForeignKey, Integer, String, UniqueConstraint
  from sqlalchemy.orm import relationship
  from evadb.catalog.models.base_model import BaseModel
  from evadb.catalog.models.utils import FunctionMetadataCatalogEntry, TextPickleType
label_desc: Use image node_id 2 for calling the FunctionMetadataCatalog obj's underlying member method code with example usage: obj.as_dataclass() and returns: FunctionMetadataCatalogEntry