diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py index 4f8e2dc0dec86cd8f414d5945ded006c795d5132..233110e82dd5dd3817b123db39e67bd011229897 100644 --- a/product/ZSQLCatalog/SQLCatalog.py +++ b/product/ZSQLCatalog/SQLCatalog.py @@ -944,23 +944,20 @@ class Catalog(Folder, @caching_instance_method(id='SQLCatalog.getColumnIds', cache_factory='erp5_content_long') def _getColumnIds(self): - keys = {} + keys = set() + add_key = keys.add for table in self.getCatalogSearchTableIds(): field_list = self._getCatalogSchema(table=table) for field in field_list: - keys[field] = None - keys['%s.%s' % (table, field)] = None # Is this inconsistent ? + add_key(field) + add_key('%s.%s' % (table, field)) # Is this inconsistent ? for related in self.getSQLCatalogRelatedKeyList(): related_tuple = related.split('|') - related_key = related_tuple[0].strip() - keys[related_key] = None + add_key(related_tuple[0].strip()) for scriptable in self.getSQLCatalogScriptableKeyList(): scriptable_tuple = scriptable.split('|') - scriptable = scriptable_tuple[0].strip() - keys[scriptable] = None - keys = keys.keys() - keys.sort() - return keys + add_key(scriptable_tuple[0].strip()) + return sorted(keys) def getColumnIds(self): """