thrownewAtlasBaseException("Cannot remove array element from required attribute "+propertyName+" on "+GraphHelper.getVertexDetails(outVertex)+" "+GraphHelper.getEdgeDetails(elementEdge));
}
if(shouldUpdateInverseReferences){
//if composite attribute, remove the reference as well. else, just remove the edge
//for example, when table is deleted, process still references the table
//but when column is deleted, table will not reference the deleted column
LOG.debug("Removing edge {} from the array attribute {}",string(elementEdge),
attribute.getName());
if(LOG.isDebugEnabled()){
LOG.debug("Removing edge {} from the array attribute {}",string(elementEdge),attribute.getName());
}
// Remove all occurrences of the edge ID from the list.
// This prevents dangling edge IDs (i.e. edge IDs for deleted edges)
// from the remaining in the list if there are duplicates.
@@ -553,6 +587,7 @@ public abstract class DeleteHandlerV1 {
}
}
}
}
break;
caseSTRUCT:
...
...
@@ -560,26 +595,32 @@ public abstract class DeleteHandlerV1 {
break;
default:
thrownewIllegalStateException("There can't be an edge from "+GraphHelper.getVertexDetails(outVertex)+" to "
+GraphHelper.getVertexDetails(inVertex)+" with attribute name "+attribute.getName()+" which is not class/array/map attribute. found "+attrType.getTypeCategory().name());
thrownewIllegalStateException("There can't be an edge from "+GraphHelper.getVertexDetails(outVertex)+" to "+GraphHelper.getVertexDetails(inVertex)+" with attribute name "+attribute.getName()+" which is not class/array/map attribute. found "+attrType.getTypeCategory().name());