[tracker] libtracker-data: Ignore duplicate rdf:type statements
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Ignore duplicate rdf:type statements
- Date: Mon, 7 Sep 2009 16:08:05 +0000 (UTC)
commit 8b0fbd90c015f027ef40a6f5f74ef75f10db0a04
Author: Jürg Billeter <j bitron ch>
Date: Mon Sep 7 17:23:05 2009 +0200
libtracker-data: Ignore duplicate rdf:type statements
src/libtracker-data/tracker-data-update.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 49616f1..0455d46 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -515,6 +515,8 @@ cache_create_service_decomposed (TrackerClass *cl)
TrackerDBInterface *iface;
TrackerClass **super_classes;
GValue gvalue = { 0 };
+ gint i;
+ const gchar *class_uri;
iface = tracker_db_manager_get_db_interface ();
@@ -525,7 +527,16 @@ cache_create_service_decomposed (TrackerClass *cl)
super_classes++;
}
- g_ptr_array_add (update_buffer.types, g_strdup (tracker_class_get_uri (cl)));
+ class_uri = tracker_class_get_uri (cl);
+
+ for (i = 0; i < update_buffer.types->len; i++) {
+ if (strcmp (g_ptr_array_index (update_buffer.types, i), class_uri) == 0) {
+ /* ignore duplicate statement */
+ return;
+ }
+ }
+
+ g_ptr_array_add (update_buffer.types, g_strdup (class_uri));
g_value_init (&gvalue, G_TYPE_INT);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]