[tracker/tracker-0.6] Removed File:Ext and File:NameDelimited for performance



commit 93635e76706552898394005b0f88a83c9713bd3d
Author: Martyn Russell <martyn imendio com>
Date:   Wed May 20 16:22:40 2009 +0100

    Removed File:Ext and File:NameDelimited for performance
    
    The File:Ext can be obtained easily per Name anyway and the
    File:NameDelimited is simply the File:Path and File:Name added
    together so it duplicates data in the database.
    
    This removal makes quite a difference on the Maemo device.
---
 src/tracker-indexer/tracker-indexer.c              |   35 ++++++++-----------
 .../tracker-module-metadata-utils.c                |   25 --------------
 2 files changed, 15 insertions(+), 45 deletions(-)

diff --git a/src/tracker-indexer/tracker-indexer.c b/src/tracker-indexer/tracker-indexer.c
index 9d4d7ea..1d411ed 100644
--- a/src/tracker-indexer/tracker-indexer.c
+++ b/src/tracker-indexer/tracker-indexer.c
@@ -95,8 +95,6 @@
 #define TRACKER_INDEXER_ERROR_CODE  0
 
 /* Properties that change in move event */
-#define METADATA_FILE_NAME_DELIMITED "File:NameDelimited"
-#define METADATA_FILE_EXT	     "File:Ext"
 #define METADATA_FILE_PATH	     "File:Path"
 #define METADATA_FILE_NAME	     "File:Name"
 #define METADATA_FILE_MIMETYPE       "File:Mime"
@@ -1626,22 +1624,26 @@ generate_item_thumbnail (TrackerIndexer        *indexer,
 			 const gchar           *basename,
 			 TrackerModuleMetadata *metadata)
 {
-	const gchar *path, *mime_type;
+	const gchar *mime_type;
 
-	path = tracker_module_metadata_lookup (metadata, METADATA_FILE_NAME_DELIMITED, FALSE);
 	mime_type = tracker_module_metadata_lookup (metadata, METADATA_FILE_MIMETYPE, FALSE);
 
-	if (path && path[0] == G_DIR_SEPARATOR && mime_type &&
+	if (dirname && 
+	    dirname[0] == G_DIR_SEPARATOR && 
+	    mime_type &&
 	    tracker_config_get_enable_thumbnails (indexer->private->config)) {
 		GFile *file;
 		gchar *uri;
+		gchar *path;
 
+		path = g_build_filename (dirname, basename, NULL);
 		file = g_file_new_for_path (path);
+		g_free (path);
+
 		uri = g_file_get_uri (file);
+		g_object_unref (file);
 
 		tracker_thumbnailer_queue_file (uri, mime_type);
-
-		g_object_unref (file);
 		g_free (uri);
 	}
 }
@@ -1828,13 +1830,12 @@ filter_invalid_after_move_properties (TrackerField *field,
 
 	name = tracker_field_get_name (field);
 
-	if (g_strcmp0 (name, METADATA_FILE_NAME_DELIMITED) == 0 ||
-	    g_strcmp0 (name, METADATA_FILE_NAME) == 0 ||
-	    g_strcmp0 (name, METADATA_FILE_PATH) == 0 ||
-	    g_strcmp0 (name, METADATA_FILE_EXT) == 0) {
+	if (g_strcmp0 (name, METADATA_FILE_NAME) == 0 ||
+	    g_strcmp0 (name, METADATA_FILE_PATH) == 0) {
 		return FALSE;
 	}
 
+
 	return TRUE;
 }
 
@@ -1923,7 +1924,6 @@ update_moved_item_index (TrackerIndexer      *indexer,
 	TrackerDataUpdateMetadataContext *context;
 	TrackerModuleMetadata *new_metadata;
 	gchar *path, *new_path, *new_name;
-	const gchar *ext;
 
 	path = g_file_get_path (file);
 
@@ -1942,13 +1942,6 @@ update_moved_item_index (TrackerIndexer      *indexer,
 
 	tracker_module_metadata_add_string (new_metadata, METADATA_FILE_PATH, new_path);
 	tracker_module_metadata_add_string (new_metadata, METADATA_FILE_NAME, new_name);
-	tracker_module_metadata_add_string (new_metadata, METADATA_FILE_NAME_DELIMITED, path);
-
-	ext = strrchr (path, '.');
-	if (ext) {
-		ext++;
-		tracker_module_metadata_add_string (new_metadata, METADATA_FILE_EXT, ext);
-	}
 
 	context = tracker_data_update_metadata_context_new (TRACKER_CONTEXT_TYPE_UPDATE,
 							    service, service_id);
@@ -1984,7 +1977,9 @@ item_erase (TrackerIndexer *indexer,
 		gchar *uri;
 
 		/* TODO URI branch: this is a URI conversion */
-		path = tracker_data_metadata_lookup (data_metadata, "File:NameDelimited");
+		path = g_build_path (tracker_data_metadata_lookup (data_metadata, "File:Path"),
+				     tracker_data_metadata_lookup (data_metadata, "File:Name"),
+				     NULL);
 		file = g_file_new_for_path (path);
 		uri = g_file_get_uri (file);
 		g_object_unref (file);
diff --git a/src/tracker-indexer/tracker-module-metadata-utils.c b/src/tracker-indexer/tracker-module-metadata-utils.c
index 4e8bdd7..4412b2f 100644
--- a/src/tracker-indexer/tracker-module-metadata-utils.c
+++ b/src/tracker-indexer/tracker-module-metadata-utils.c
@@ -42,8 +42,6 @@
 #include "tracker-extract-client.h"
 #include "tracker-dbus.h"
 
-#define METADATA_FILE_NAME_DELIMITED "File:NameDelimited"
-#define METADATA_FILE_EXT            "File:Ext"
 #define METADATA_FILE_PATH           "File:Path"
 #define METADATA_FILE_NAME           "File:Name"
 #define METADATA_FILE_LINK           "File:Link"
@@ -846,7 +844,6 @@ tracker_module_metadata_utils_get_data (GFile *file)
 {
 	TrackerModuleMetadata *metadata;
 	struct stat st;
-	const gchar *ext;
 	gchar *path, *mime_type;
 	gchar *dirname, *basename, *path_delimited;
 
@@ -858,12 +855,6 @@ tracker_module_metadata_utils_get_data (GFile *file)
 	}
 
 	metadata = tracker_module_metadata_new ();
-	ext = strrchr (path, '.');
-
-	if (ext) {
-		ext++;
-		tracker_module_metadata_add_string (metadata, METADATA_FILE_EXT, ext);
-	}
 
 	mime_type = tracker_file_get_mime_type (path);
 
@@ -873,28 +864,12 @@ tracker_module_metadata_utils_get_data (GFile *file)
 
 	tracker_module_metadata_add_string (metadata, METADATA_FILE_NAME, basename);
 	tracker_module_metadata_add_string (metadata, METADATA_FILE_PATH, dirname);
-	tracker_module_metadata_add_string (metadata, METADATA_FILE_NAME_DELIMITED, path_delimited);
 	tracker_module_metadata_add_string (metadata, METADATA_FILE_MIMETYPE, mime_type);
 
 	g_free (path_delimited);
 	g_free (basename);
 	g_free (dirname);
 
-	if (S_ISLNK (st.st_mode)) {
-		gchar *link_path;
-
-		link_path = g_file_read_link (path, NULL);
-		if (link_path) {
-			gchar *link_path_delimited;
-			link_path_delimited = g_filename_to_utf8 (link_path, -1, NULL, NULL, NULL);
-
-			tracker_module_metadata_add_string (metadata, METADATA_FILE_LINK, link_path_delimited);
-
-			g_free (link_path_delimited);
-			g_free (link_path);
-		}
-	}
-
 	tracker_module_metadata_add_uint (metadata, METADATA_FILE_SIZE, st.st_size);
 	tracker_module_metadata_add_date (metadata, METADATA_FILE_MODIFIED, st.st_mtime);
 	tracker_module_metadata_add_date (metadata, METADATA_FILE_ACCESSED, st.st_atime);



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