Log message for revision 117256: uniqueValuesFor check by IUniqueValueIndex.providedBy
Changed: U Zope/branches/andig-compositeindex/src/Products/ZCatalog/Catalog.py -=- Modified: Zope/branches/andig-compositeindex/src/Products/ZCatalog/Catalog.py =================================================================== --- Zope/branches/andig-compositeindex/src/Products/ZCatalog/Catalog.py 2010-10-05 18:24:36 UTC (rev 117255) +++ Zope/branches/andig-compositeindex/src/Products/ZCatalog/Catalog.py 2010-10-05 22:44:35 UTC (rev 117256) @@ -24,6 +24,7 @@ from Missing import MV from Persistence import Persistent from Products.PluginIndexes.interfaces import ILimitedResultIndex +from Products.PluginIndexes.interfaces import IUniqueValueIndex from Products.PluginIndexes.interfaces import ITransposeQuery import BTrees.Length @@ -395,11 +396,17 @@ 'attempted to uncatalog an object ' 'with a uid of %s. ' % str(uid)) - def uniqueValuesFor(self, name): """ return unique values for FieldIndex name """ - return self.getIndex(name).uniqueValues() + indexes = self.indexes.keys() + for idx in indexes: + x = self.getIndex(idx) + if IUniqueValueIndex.providedBy(x) and x.hasUniqueValuesFor(name): + return x.uniqueValues(name=name) + + return [] + def hasuid(self, uid): """ return the rid if catalog contains an object with uid """ return self.uids.get(uid) _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins