tracker r2670 - in trunk: . data/db src/libtracker-data



Author: juergbi
Date: Fri Dec  5 12:33:43 2008
New Revision: 2670
URL: http://svn.gnome.org/viewvc/tracker?rev=2670&view=rev

Log:
2008-12-05  JÃrg Billeter  <j bitron ch>

	* data/db/sqlite-stored-procs.sql:
	* src/libtracker-data/tracker-data-update.c:
	(tracker_data_update_move_service): Only execute MoveServiceChildren
	for folders and add condition to UPDATE statement


Modified:
   trunk/ChangeLog
   trunk/data/db/sqlite-stored-procs.sql
   trunk/src/libtracker-data/tracker-data-update.c

Modified: trunk/data/db/sqlite-stored-procs.sql
==============================================================================
--- trunk/data/db/sqlite-stored-procs.sql	(original)
+++ trunk/data/db/sqlite-stored-procs.sql	Fri Dec  5 12:33:43 2008
@@ -40,7 +40,7 @@
 CreateService                  INSERT INTO Services (ID, Path, Name, ServiceTypeID, Mime, Size, IsDirectory, IsLink, Offset, IndexTime, AuxilaryID) VALUES (?,?,?,?,?,?,?,?,?,?,?); 
 
 MoveService                    UPDATE Services SET Path = ?, Name = ? WHERE Path = ? AND Name = ?;
-MoveServiceChildren            UPDATE Services SET Path = replace (Path, ?, ?);
+MoveServiceChildren            UPDATE Services SET Path = replace (Path, ?, ?) WHERE Path = ? OR Path LIKE (? || '/%');
 
 SelectFileChild                SELECT ID, Path, Name, IsDirectory FROM Services WHERE Path = ?;
 

Modified: trunk/src/libtracker-data/tracker-data-update.c
==============================================================================
--- trunk/src/libtracker-data/tracker-data-update.c	(original)
+++ trunk/src/libtracker-data/tracker-data-update.c	Fri Dec  5 12:33:43 2008
@@ -300,14 +300,16 @@
 						from_dirname, from_basename,
 						NULL);
 
-	/* FIXME: This procedure should use LIKE statement */
-	tracker_db_interface_execute_procedure (iface,
-						&error,
-						"MoveServiceChildren",
-						from,
-						to,
-						from,
-						NULL);
+	if (strcmp (tracker_service_get_name (service), "Folders") == 0) {
+		tracker_db_interface_execute_procedure (iface,
+							&error,
+							"MoveServiceChildren",
+							from,
+							to,
+							from,
+							from,
+							NULL);
+	}
 
 	g_free (to_dirname);
 	g_free (to_basename);



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