[Checkins] SVN: Products.ZCatalog/branches/2.13/ Merge c125294 from trunk
Hano Schlichting
cvs-admin at zope.org
Thu Apr 26 00:41:26 UTC 2012
Log message for revision 125299:
Merge c125294 from trunk
Changed:
U Products.ZCatalog/branches/2.13/CHANGES.txt
U Products.ZCatalog/branches/2.13/setup.py
U Products.ZCatalog/branches/2.13/src/Products/ZCatalog/Catalog.py
U Products.ZCatalog/branches/2.13/src/Products/ZCatalog/tests/test_catalog.py
-=-
Modified: Products.ZCatalog/branches/2.13/CHANGES.txt
===================================================================
--- Products.ZCatalog/branches/2.13/CHANGES.txt 2012-04-26 00:35:38 UTC (rev 125298)
+++ Products.ZCatalog/branches/2.13/CHANGES.txt 2012-04-26 00:41:23 UTC (rev 125299)
@@ -1,6 +1,13 @@
Changelog
=========
+2.13.23 (2012-04-26)
+--------------------
+
+- Fixed another issue with preserving score values, when a custom index was
+ queried first which was neither ILimitedResultIndex aware nor return scores,
+ and a later index was of the default ZCTextIndex type.
+
2.13.22 (2011-11-17)
--------------------
Modified: Products.ZCatalog/branches/2.13/setup.py
===================================================================
--- Products.ZCatalog/branches/2.13/setup.py 2012-04-26 00:35:38 UTC (rev 125298)
+++ Products.ZCatalog/branches/2.13/setup.py 2012-04-26 00:41:23 UTC (rev 125299)
@@ -15,7 +15,7 @@
from setuptools import setup, find_packages
setup(name='Products.ZCatalog',
- version = '2.13.22',
+ version = '2.13.23',
url='http://pypi.python.org/pypi/Products.ZCatalog',
license='ZPL 2.1',
description="Zope 2's indexing and search solution.",
Modified: Products.ZCatalog/branches/2.13/src/Products/ZCatalog/Catalog.py
===================================================================
--- Products.ZCatalog/branches/2.13/src/Products/ZCatalog/Catalog.py 2012-04-26 00:35:38 UTC (rev 125298)
+++ Products.ZCatalog/branches/2.13/src/Products/ZCatalog/Catalog.py 2012-04-26 00:41:23 UTC (rev 125299)
@@ -541,7 +541,7 @@
cr.start_split(intersect_id)
# weightedIntersection preserves the values from any mappings
# we get, as some indexes don't return simple sets
- if hasattr(rs, 'items'):
+ if hasattr(rs, 'items') or hasattr(r, 'items'):
_, rs = weightedIntersection(rs, r)
else:
rs = intersection(rs, r)
Modified: Products.ZCatalog/branches/2.13/src/Products/ZCatalog/tests/test_catalog.py
===================================================================
--- Products.ZCatalog/branches/2.13/src/Products/ZCatalog/tests/test_catalog.py 2012-04-26 00:35:38 UTC (rev 125298)
+++ Products.ZCatalog/branches/2.13/src/Products/ZCatalog/tests/test_catalog.py 2012-04-26 00:41:23 UTC (rev 125299)
@@ -736,7 +736,32 @@
self.assertEqual(len(brains), 4)
self.assertEqual(brains[0].title, '111')
+ def test_combined_scored_search_planned(self):
+ from ..plan import Benchmark
+ from ..plan import PriorityMap
+ cat = self._get_catalog()
+ query = dict(title='1*', true=True)
+ plan = cat.getCatalogPlan()
+ plan_key = plan.make_key(query)
+ catalog_id = plan.get_id()
+ # plan with title first
+ PriorityMap.set_entry(catalog_id, plan_key, dict(
+ title=Benchmark(1, 1, False),
+ true=Benchmark(2, 1, False),
+ ))
+ brains = cat(query)
+ self.assertEqual(len(brains), 4)
+ self.assertEqual(brains[0].title, '111')
+ # plan with true first
+ PriorityMap.set_entry(catalog_id, plan_key, dict(
+ title=Benchmark(2, 1, False),
+ true=Benchmark(1, 1, False),
+ ))
+ brains = cat(query)
+ self.assertEqual(len(brains), 4)
+ self.assertEqual(brains[0].title, '111')
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAddDelColumn))
More information about the checkins
mailing list