in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/catalog/CatalogOperations.java [144:166]
private static void createResource(
String nameInCatalog,
CreateMode createMode,
String resourceType,
boolean alreadyExists,
Runnable creator,
Runnable deleter) {
if (createMode.equals(CreateMode.CREATE_IF_NOT_EXISTS) && alreadyExists) {
return;
}
if (createMode.equals(CreateMode.CREATE_OR_REPLACE) && alreadyExists) {
deleter.run();
}
if (createMode.equals(CreateMode.CREATE_DEFAULT) && alreadyExists) {
String errorMessage =
String.format("%s %s already exists in catalog", resourceType, nameInCatalog);
throw new CatalogResourceAlreadyExists(nameInCatalog, errorMessage);
}
creator.run();
}