[tracker/anonymous-file-nodes: 27/27] Ensure the dest path info is removed before a move operation.



commit 9fa787a18576e7f739d257c5f1dba49197160c74
Author: Carlos Garnacho <carlos lanedo com>
Date:   Tue Feb 2 14:23:18 2010 +0100

    Ensure the dest path info is removed before a move operation.
    
    Also, now nie:isStoredAs is updated properly.

 src/libtracker-miner/tracker-miner-fs.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index ce6caa7..9041894 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -1386,13 +1386,24 @@ item_move (TrackerMinerFS *fs,
 
 	sparql = g_string_new ("");
 
+	/* Delete destination item from store if any */
+	g_string_append_printf (sparql,
+				"DELETE { "
+	                        "  ?urn a rdfs:Resource "
+	                        "} WHERE {"
+	                        "  ?urn nie:url \"%s\" "
+				"}",
+				uri);
+
 	g_string_append_printf (sparql,
 	                        "DELETE FROM <%s> { "
 	                        "  <%s> nfo:fileName ?f ; "
-	                        "       nie:url ?u "
+	                        "       nie:url ?u ; "
+	                        "       nie:isStoredAs ?s "
 	                        "} WHERE { "
 	                        "  <%s> nfo:fileName ?f ; "
-	                        "       nie:url ?u "
+	                        "       nie:url ?u ; "
+	                        "       nie:isStoredAs ?s "
 	                        "} ",
 	                        source_iri, source_iri, source_iri);
 
@@ -1401,10 +1412,12 @@ item_move (TrackerMinerFS *fs,
 	g_string_append_printf (sparql,
 	                        "INSERT INTO <%s> {"
 	                        "  <%s> nfo:fileName '%s' ; "
-	                        "       nie:url '%s' "
+	                        "       nie:url '%s' ; "
+	                        "       nie:isStoredAs <%s> "
 	                        "} ",
 	                        source_iri, source_iri,
-	                        escaped_filename, uri);
+	                        escaped_filename, uri,
+	                        source_iri);
 
 	g_free (escaped_filename);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]