docs: @Override
  	public void createFunction(ObjectPath functionPath, CatalogFunction function, boolean ignoreIfExists)
  			throws FunctionAlreadyExistException, DatabaseNotExistException {
  		checkNotNull(functionPath);
  		checkNotNull(function);
  
  		if (!databaseExists(functionPath.getDatabaseName())) {
  			throw new DatabaseNotExistException(catalogName, functionPath.getDatabaseName());
  		}
  
  		if (functionExists(functionPath)) {
  			if (!ignoreIfExists) {
  				throw new FunctionAlreadyExistException(catalogName, functionPath);
  			}
  		} else {
  			functions.put(functionPath, function.copy());
  		}
  	}