code: def truncate_catalog_tables(
      engine: Engine, tables_not_to_truncate: List[str] = []
  ):
      """Truncate all the catalog tables"""
      # https://stackoverflow.com/questions/4763472/sqlalchemy-clear-database-content-but-dont-drop-the-schema/5003705#5003705 #noqa
      # reflect to refresh the metadata
      BaseModel.metadata.reflect(bind=engine)
      insp = sqlalchemy.inspect(engine)
      if database_exists(engine.url):
          with contextlib.closing(engine.connect()) as con:
              trans = con.begin()
              for table in reversed(BaseModel.metadata.sorted_tables):
                  if table.name not in tables_not_to_truncate:
                      if insp.has_table(table.name):
                          con.execute(table.delete())
              trans.commit()
  
imports: import contextlib
  import datetime
  import json
  from dataclasses import dataclass, field
  from typing import List, Tuple
  import sqlalchemy
  from sqlalchemy.engine import Engine
  from sqlalchemy.types import TypeDecorator
  from sqlalchemy_utils import create_database, database_exists
  from evadb.catalog.catalog_type import ColumnType, NdArrayType, TableType, VectorStoreType
  from evadb.catalog.models.base_model import BaseModel
  from evadb.catalog.sql_config import CATALOG_TABLES
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 2 for calling a global function with example usage: truncate_catalog_tables(engine, tables_not_to_truncate) without return types