class_docstr: Applies PP to filter out the frames that doesn't satisfy the condition
  Arguments:
      node (AbstractPlan): ...
  
  Note: This look kind of redundant. This logic for now is similar to that
  of sequential scan executor. Will decide to delete it depending on how
  sequential scan evolves.
code: def __init__(self, db: EvaDBDatabase, node: PPScanPlan):
      super().__init__(db, node)
      self.predicate = node.predicate
  
file_path: evadb/evadb/executor/pp_executor.py
imports: from typing import Iterator
  from evadb.database import EvaDBDatabase
  from evadb.executor.abstract_executor import AbstractExecutor
  from evadb.models.storage.batch import Batch
  from evadb.plan_nodes.pp_plan import PPScanPlan
label_desc: Use image node_id 1 to create a new PPExecutor object from inherited base classes: AbstractExecutor with example: obj = PPExecutor(db, node)