in asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADQueryTranslator.java [165:178]
private void throwErrorIfFunctionUsed(MetadataTransactionContext mdTxnCtx, DataverseName dataverse, String function,
String arity, FunctionSignature sig) throws AlgebricksException {
Pair<List<Channel>, List<Procedure>> dependents =
checkIfFunctionIsInUse(mdTxnCtx, dataverse, function, arity, false);
String errorStart = sig != null ? "Cannot drop function " + sig + "." : "Cannot drop index.";
if (dependents.first.size() > 0) {
throw new CompilationException(
errorStart + " " + dependents.first.get(0).getChannelId() + " depends on it!");
}
if (dependents.second.size() > 0) {
throw new CompilationException(
errorStart + " " + dependents.second.get(0).getEntityId() + " depends on it!");
}
}