[tracker/tracker-0.6] Removed File:Ext and File:NameDelimited for performance
- From: Martyn James Russell <mr src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/tracker-0.6] Removed File:Ext and File:NameDelimited for performance
- Date: Wed, 20 May 2009 12:17:27 -0400 (EDT)
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]