[Checkins] SVN: Products.ZCatalog/trunk/ fix calculation of 2nd-half batch ranges
David Glick
davidglick at onenw.org
Mon Aug 22 15:46:35 EDT 2011
Log message for revision 122666:
fix calculation of 2nd-half batch ranges
Changed:
U Products.ZCatalog/trunk/CHANGES.txt
U Products.ZCatalog/trunk/src/Products/ZCatalog/Catalog.py
U Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py
-=-
Modified: Products.ZCatalog/trunk/CHANGES.txt
===================================================================
--- Products.ZCatalog/trunk/CHANGES.txt 2011-08-22 17:16:52 UTC (rev 122665)
+++ Products.ZCatalog/trunk/CHANGES.txt 2011-08-22 19:46:35 UTC (rev 122666)
@@ -4,6 +4,8 @@
2.13.20 (unreleased)
--------------------
+- Fixed incorrect calculation of batches in the second half of the resultset
+ in sortResults.
2.13.19 (2011-08-20)
--------------------
Modified: Products.ZCatalog/trunk/src/Products/ZCatalog/Catalog.py
===================================================================
--- Products.ZCatalog/trunk/src/Products/ZCatalog/Catalog.py 2011-08-22 17:16:52 UTC (rev 122665)
+++ Products.ZCatalog/trunk/src/Products/ZCatalog/Catalog.py 2011-08-22 19:46:35 UTC (rev 122666)
@@ -708,7 +708,7 @@
b_size += overrun
b_start = 0
else:
- b_start = b_end - b_start
+ b_start = rlen - b_end
limit = b_start + b_size
if merge and limit is None and (
Modified: Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py
===================================================================
--- Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py 2011-08-22 17:16:52 UTC (rev 122665)
+++ Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py 2011-08-22 19:46:35 UTC (rev 122666)
@@ -366,6 +366,12 @@
result = self._catalog(query)
self.assertEqual(result.actual_result_count, 100)
self.assertEqual([r.num for r in result], range(70, 85))
+
+ def testSortLimitViaBatchingArgsEarlySecondHalf(self):
+ query = dict(att1='att1', sort_on='num', b_start=55, b_size=15)
+ result = self._catalog(query)
+ self.assertEqual(result.actual_result_count, 100)
+ self.assertEqual([r.num for r in result], range(55, 70))
def testSortLimitViaBatchingArgsEnd(self):
query = dict(att1='att1', sort_on='num', b_start=90, b_size=10)
More information about the checkins
mailing list