[tracker] libtracker-data: Also recreate domain indexes on collation change



commit 9e070f31b7b7b6469a4e607cdd289abee8f520a0
Author: JÃrg Billeter <j bitron ch>
Date:   Fri Oct 28 16:57:12 2011 +0200

    libtracker-data: Also recreate domain indexes on collation change
    
    Fixes NB#286610.

 src/libtracker-data/tracker-data-manager.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 7b8dab2..cb998c3 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -546,6 +546,7 @@ fix_indexed (TrackerProperty  *property,
 		                                    &internal_error);
 	} else {
 		TrackerProperty *secondary_index;
+		TrackerClass **domain_index_classes;
 
 		secondary_index = tracker_property_get_secondary_index (property);
 		if (secondary_index == NULL) {
@@ -558,6 +559,17 @@ fix_indexed (TrackerProperty  *property,
 			                                               recreate && tracker_property_get_indexed (property),
 			                                               &internal_error);
 		}
+
+		/* single-valued properties may also have domain-specific indexes */
+		domain_index_classes = tracker_property_get_domain_indexes (property);
+		while (!internal_error && domain_index_classes && *domain_index_classes) {
+			set_index_for_single_value_property (iface,
+			                                     tracker_class_get_name (*domain_index_classes),
+			                                     field_name,
+			                                     recreate,
+			                                     &internal_error);
+			domain_index_classes++;
+		}
 	}
 
 	if (internal_error) {



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