tracker r2891 - in trunk: . src/tracker-indexer
- From: carlosg svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r2891 - in trunk: . src/tracker-indexer
- Date: Fri, 6 Feb 2009 15:38:22 +0000 (UTC)
Author: carlosg
Date: Fri Feb 6 15:38:22 2009
New Revision: 2891
URL: http://svn.gnome.org/viewvc/tracker?rev=2891&view=rev
Log:
2009-02-06 Carlos Garnacho <carlos imendio com>
* src/tracker-indexer/tracker-indexer.c (item_remove): Add a boolean
param to specify whether we should recurse when deleting or not. Also
make it delete content from the database again, since this is still
needed.
(item_move) (process_file): Update callers as appropriate.
Modified:
trunk/ChangeLog
trunk/src/tracker-indexer/tracker-indexer.c
Modified: trunk/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- trunk/src/tracker-indexer/tracker-indexer.c (original)
+++ trunk/src/tracker-indexer/tracker-indexer.c Fri Feb 6 15:38:22 2009
@@ -207,7 +207,8 @@
static void item_remove (TrackerIndexer *indexer,
PathInfo *info,
const gchar *dirname,
- const gchar *basename);
+ const gchar *basename,
+ gboolean recurse);
static guint signals[LAST_SIGNAL] = { 0, };
@@ -1768,7 +1769,7 @@
g_message ("Destination file '%s' already existed in database, removing", path);
tracker_file_get_path_and_name (path, &dest_dirname, &dest_basename);
- item_remove (indexer, info, dest_dirname, dest_basename);
+ item_remove (indexer, info, dest_dirname, dest_basename, TRUE);
g_free (dest_dirname);
g_free (dest_basename);
@@ -1831,7 +1832,8 @@
item_remove (TrackerIndexer *indexer,
PathInfo *info,
const gchar *dirname,
- const gchar *basename)
+ const gchar *basename,
+ gboolean recurse)
{
TrackerService *service;
TrackerDataMetadata *data_metadata;
@@ -1896,6 +1898,8 @@
path);
}
+ tracker_data_update_delete_content (service, service_id);
+
#if 0
/* Get content, unindex the words and delete the contents */
content = tracker_data_query_content (service, service_id);
@@ -1936,7 +1940,7 @@
tracker_data_update_delete_service (service, service_id);
tracker_data_update_delete_all_metadata (service, service_id);
- if (strcmp (service_type, "Folders") == 0) {
+ if (recurse && strcmp (service_type, "Folders") == 0) {
tracker_data_update_delete_service_recursively (service, path);
}
@@ -2354,7 +2358,11 @@
item_add_or_update (indexer, info, dirname, basename, metadata);
g_object_unref (metadata);
} else {
- item_remove (indexer, info, dirname, basename);
+ /* Delete events are not atomic, so we don't recurse
+ * here, since we'll have probably got already events
+ * from children
+ */
+ item_remove (indexer, info, dirname, basename, FALSE);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]