class_docstr: This dataclass stores metadata to perform apply and merge operation.
  
  Arguments:
      func_expr(FunctionExpression): parameterized function expression that
          reference columns from a table expression that precedes it.
      do_unnest(bool): if True perform unnest operation on the output of FunctionScan
code: def __init__(
      self,
      func_expr: FunctionExpression,
      alias: Alias,
      do_unnest: bool = False,
  ):
      self._func_expr = func_expr
      self._alias = alias
      self._do_unnest = do_unnest
      super().__init__(PlanOprType.APPLY_AND_MERGE)
  
file_path: evadb/evadb/plan_nodes/apply_and_merge_plan.py
imports: from evadb.expression.function_expression import FunctionExpression
  from evadb.parser.alias import Alias
  from evadb.plan_nodes.abstract_plan import AbstractPlan
  from evadb.plan_nodes.types import PlanOprType
label_desc: Use image node_id 1 to create a new ApplyAndMergePlan object from inherited base classes: AbstractPlan with example: obj = ApplyAndMergePlan(func_expr, alias, do_unnest)