From 63aae05ec0d7f62480bfcee1b83a4fc8ba67a690 Mon Sep 17 00:00:00 2001
From: florijan <florijan@memgraph.io>
Date: Fri, 24 Mar 2017 11:58:11 +0100
Subject: [PATCH] GraphDbAccessor - DetachRemove - commands re-ordered for
 better (assumed) efficiency

Summary: See above

Reviewers: buda, dtomicevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D174
---
 src/database/graph_db_accessor.cpp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/database/graph_db_accessor.cpp b/src/database/graph_db_accessor.cpp
index 39dac6853..d3e4e5184 100644
--- a/src/database/graph_db_accessor.cpp
+++ b/src/database/graph_db_accessor.cpp
@@ -65,12 +65,9 @@ void GraphDbAccessor::detach_remove_vertex(VertexAccessor& vertex_accessor) {
   // removing edges via accessors is both safe
   // and it should remove all the pointers in the relevant
   // vertices (including this one)
-  for (auto edge_accessor : vertex_accessor.in()) remove_edge(edge_accessor);
-
-  for (auto edge_accessor : vertex_accessor.out()) remove_edge(edge_accessor);
-
-  // mvcc removal of the vertex
   vertex_accessor.vlist_->remove(&vertex_accessor.update(), *transaction_);
+  for (auto edge_accessor : vertex_accessor.in()) remove_edge(edge_accessor);
+  for (auto edge_accessor : vertex_accessor.out()) remove_edge(edge_accessor);
 }
 
 EdgeAccessor GraphDbAccessor::insert_edge(VertexAccessor& from,