Title: [commits] (vajda) [11296] - ensured indexes are removed while being repaired
Revision
11296
Author
vajda
Date
2006-08-01 02:58:46 -0700 (Tue, 01 Aug 2006)

Log Message

- ensured indexes are removed while being repaired

Modified Paths

Diff

Modified: trunk/chandler/repository/item/Indexed.py (11295 => 11296)

--- trunk/chandler/repository/item/Indexed.py	2006-08-01 02:53:11 UTC (rev 11295)
+++ trunk/chandler/repository/item/Indexed.py	2006-08-01 09:58:46 UTC (rev 11296)
@@ -626,23 +626,25 @@
                 indexes = self._indexes
                 self._indexes = None
                 count = len(self)
+
+                for name, index in indexes.iteritems():
+                    if not index._checkIndex(index, logger, name, self,
+                                             item, attribute, count, repair):
+                        if repair:
+                            logger.warning("Rebuilding index '%s' installed on value '%s' of type %s in attribute '%s' on %s", name, self, type(self), attribute, item._repr_())
+                            indexes[name] = index = \
+                                self._createIndex(index.getIndexType(),
+                                                  **index.getInitKeywords())
+                            self.fillIndex(index)
+                            self._setDirty(True)
+
+                            result = index._checkIndex(index, logger, name,
+                                                       self, item, attribute,
+                                                       count, repair)
+                        else:
+                            result = False
+
             finally:
                 self._indexes = indexes
-
-            for name, index in self._indexes.iteritems():
-                if not index._checkIndex(index, logger, name, self,
-                                         item, attribute, count, repair):
-                    if repair:
-                        logger.warning("Rebuilding index '%s' installed on value '%s' of type %s in attribute '%s' on %s", name, self, type(self), attribute, item._repr_())
-                        indexes[name] = index = \
-                            self._createIndex(index.getIndexType(),
-                                              **index.getInitKeywords())
-                        self.fillIndex(index)
-                        self._setDirty(True)
-                        result = index._checkIndex(index, logger, name, self,
-                                                   item, attribute, count,
-                                                   repair)
-                    else:
-                        result = False
                     
         return result




_______________________________________________
Commits mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/commits

Reply via email to