@Override
  public boolean purgeTable(Identifier ident) throws UnsupportedOperationException {
    // No need to check table existence to determine which catalog to use.
    // if a table doesn't exist then both are required to return false.
    try {
      Table table = getSessionCatalog().loadTable(ident);
      if (isManagedTable(table)) {
        return getTargetCatalog().purgeTable(ident) || getSessionCatalog().purgeTable(ident);
      } else {
        return getSessionCatalog().purgeTable(ident);
      }
    } catch (NoSuchTableException e) {
      return getSessionCatalog().purgeTable(ident);
    }
  }
Check if the provider is managed by target catalog.
amoro-format-mixed/amoro-mixed-spark/amoro-mixed-spark-3-common/src/main/java/org/apache/amoro/spark/SessionCatalogBase.java