1
0
Fork 0

Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel

This commit is contained in:
Thomas Schmidts 2014-05-22 15:48:28 +02:00
commit e5d4642193
1 changed files with 26 additions and 8 deletions

View File

@ -471,7 +471,6 @@ var _create = function (graphName, edgeDefinitions) {
}; };
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief constructor. /// @brief constructor.
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -487,13 +486,31 @@ var Graph = function(graphName, edgeDefinitions, vertexCollections, edgeCollecti
var wrap = wrapCollection(obj); var wrap = wrapCollection(obj);
var old_remove = wrap.remove; var old_remove = wrap.remove;
wrap.remove = function(vertexId, options) { wrap.remove = function(vertexId, options) {
var myEdges = self._EDGES(vertexId); var graphs = getGraphCollection().toArray();
myEdges.forEach( var vertexCollectionName = vertexId.split("/")[0];
function(edgeObj) { graphs.forEach(
var edgeId = edgeObj._id; function(graph) {
var edgeCollection = edgeId.split("/")[0]; var edgeDefinitions = graph.edgeDefinitions;
if (db[edgeCollection] && db[edgeCollection].exists(edgeId)) { if (graph.edgeDefinitions) {
db[edgeCollection].remove(edgeId); edgeDefinitions.forEach(
function(edgeDefinition) {
var from = edgeDefinition.from;
var to = edgeDefinition.to;
var collection = edgeDefinition.collection;
if (from.indexOf(vertexCollectionName) !== -1
|| to.indexOf(vertexCollectionName) !== -1
) {
var edges = db._collection(collection).toArray();
edges.forEach(
function(edge) {
if (edge._from === vertexId || edge._to === vertexId) {
db._remove(edge._id);
}
}
);
}
}
);
} }
} }
); );
@ -503,6 +520,7 @@ var Graph = function(graphName, edgeDefinitions, vertexCollections, edgeCollecti
} }
return old_remove(vertexId, options); return old_remove(vertexId, options);
}; };
self[key] = wrap; self[key] = wrap;
}); });