read: auto-register prefixes for inserted data

Change-Id: Iebddca056a4c74f179f7af7203881adfe1cba777
refs: #4247
diff --git a/src/storage/repo-storage.cpp b/src/storage/repo-storage.cpp
index 1828eb9..d3834ba 100644
--- a/src/storage/repo-storage.cpp
+++ b/src/storage/repo-storage.cpp
@@ -51,7 +51,10 @@
    int64_t id = m_storage.insert(data);
    if (id == -1)
      return false;
-   return m_index.insert(data, id);
+   bool didInsert = m_index.insert(data, id);
+   if (didInsert)
+     afterDataInsertion(data.getName());
+   return didInsert;
 }
 
 ssize_t
@@ -65,10 +68,13 @@
   while (idName.first != 0) {
     bool resultDb = m_storage.erase(idName.first);
     bool resultIndex = m_index.erase(idName.second); //full name
-    if (resultDb && resultIndex)
+    if (resultDb && resultIndex) {
+      afterDataDeletion(idName.second);
       count++;
-    else
+    }
+    else {
       hasError = true;
+    }
     idName = m_index.find(name);
   }
   if (hasError)
@@ -88,10 +94,13 @@
   while (idName.first != 0) {
     bool resultDb = m_storage.erase(idName.first);
     bool resultIndex = m_index.erase(idName.second); //full name
-    if (resultDb && resultIndex)
+    if (resultDb && resultIndex) {
+      afterDataDeletion(idName.second);
       count++;
-    else
+    }
+    else {
       hasError = true;
+    }
     idName = m_index.find(interestDelete);
   }
   if (hasError)