code: def exec(self, *args, **kwargs):
      # Vector type specific creation.
      if self.vector_store_type == VectorStoreType.PGVECTOR:
          self._create_native_index()
      else:
          self._create_evadb_index()
  
      yield Batch(
          pd.DataFrame(
              [f"Index {self.name} successfully added to the database."]
          )
      )
  
imports: from pathlib import Path
  import pandas
  from evadb.catalog.catalog_type import VectorStoreType
  from evadb.catalog.sql_config import ROW_NUM_COLUMN
  from evadb.database import EvaDBDatabase
  from evadb.executor.abstract_executor import AbstractExecutor
  from evadb.executor.executor_utils import ExecutorError, handle_vector_store_params
  from evadb.expression.function_expression import FunctionExpression
  from evadb.models.storage.batch import Batch
  from evadb.plan_nodes.create_index_plan import CreateIndexPlan
  from evadb.third_party.databases.interface import get_database_handler
  from evadb.third_party.vector_stores.types import FeaturePayload
  from evadb.third_party.vector_stores.utils import VectorStoreFactory
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 2 for calling the CreateIndexExecutor obj's underlying member method code with example usage: obj.exec() without return types