[tracker/urn-cache: 5/5] TrackerMinerFS: warn if one file has >1 URNs.
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/urn-cache: 5/5] TrackerMinerFS: warn if one file has >1 URNs.
- Date: Tue, 16 Feb 2010 16:19:00 +0000 (UTC)
commit a45b293a1d0adafaa552e8eca8d5eac3c32b980f
Author: Carlos Garnacho <carlos lanedo com>
Date: Tue Feb 16 17:13:02 2010 +0100
TrackerMinerFS: warn if one file has >1 URNs.
src/libtracker-miner/tracker-miner-fs.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 633e796..eeb07e5 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -62,6 +62,7 @@ typedef struct {
typedef struct {
GMainLoop *main_loop;
+ const gchar *uri;
gchar *iri;
gchar *mime;
gboolean get_mime;
@@ -925,21 +926,28 @@ sparql_query_cb (GObject *object,
miner = TRACKER_MINER (object);
query_results = tracker_miner_execute_sparql_finish (miner, result, &error);
+ g_main_loop_quit (data->main_loop);
+
if (error) {
g_critical ("Could not execute sparql query: %s", error->message);
g_error_free (error);
+ return;
}
- if (query_results && query_results->len == 1) {
+ if (!query_results ||
+ query_results->len == 0)
+ return;
+
+ if (query_results->len == 1) {
gchar **val;
val = g_ptr_array_index (query_results, 0);
data->iri = g_strdup (val[0]);
if (data->get_mime)
data->mime = g_strdup (val[1]);
+ } else {
+ g_critical ("More than one URNs (%d) have been found for uri \"%s\"", query_results->len, data->uri);
}
-
- g_main_loop_quit (data->main_loop);
}
static void
@@ -1069,6 +1077,7 @@ item_query_exists (TrackerMinerFS *miner,
}
data.main_loop = g_main_loop_new (NULL, FALSE);
+ data.uri = uri;
tracker_miner_execute_sparql (TRACKER_MINER (miner),
sparql,
@@ -1793,6 +1802,7 @@ should_change_index_for_file (TrackerMinerFS *fs,
data.get_mime = FALSE;
data.main_loop = g_main_loop_new (NULL, FALSE);
+ data.uri = uri;
tracker_miner_execute_sparql (TRACKER_MINER (fs),
query,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]