An error occurred fetching the project authors.
- 17 Jun, 2002 2 commits
-
-
Tim Peters authored
between the Zope2 and Zope3 versions.
-
Tim Peters authored
deletion endcases uncovered by the new degenerate-BTree tests. The degenerate testDeletes() and testEmptyFirstBucketReportedByGuido() are enabled now.
-
- 14 Jun, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 13 Jun, 2002 7 commits
-
-
Tim Peters authored
search returned a seemingly random slice of the tree. A new test on the painfully constructed highly-degenerate BTree turned up lots of these. It turns out that BTree_rangeSearch had a much harder job than it thought it had <0.7 wink>.
-
Tim Peters authored
for lo > hi either, except if they happened to be in the same bucket. All sorts of strange results followed (the range should be empty if lo > hi, and is after this patch).
-
Tim Peters authored
plus cleanup of a previous such fix.
-
Tim Peters authored
bucket reference. BTree_rangeSearch(): Fixed one place likewise.
-
Tim Peters authored
little on redundant activations.
-
Tim Peters authored
key S in a bucket in a BTree is deleted, doing a range search on the BTree with S on the high end may claim that the range is empty even when it's not. It proved difficult to fix this correctly and efficiently in all cases (our BTrees don't like "searching backwards"). The implementation here is a new and non-recursive one (in effect, to do this efficiently you have to remember the deepest point in the tree where it was *possible* to "go one left" of where binary search tells you to go; an iterative algorithm makes that part all but obvious). Alas, the number of uses of persistence macros is amazing, unfortunately making this still-hairy algorithm hard to follow. testPathologicalRangeSearch(): uncommented the lines that failed before this patch. They pass now. Insecurity: The test case only exercises the simplest possible form of the failure. Any failing case is hard to provoke, even the simplest. The hairier failing cases require generating degenerate trees, deep and with some interior nodes near the top having just one or two children (since the tree needs to be deep too, that isn't easy to provoke). I'll think about how to provoke this without needing to build up multi-million element trees first; maybe using __setstate__ directly is the answer.
-
Tim Peters authored
references, what must not be and what may be a ghost, and exactly what "last" means, it was surprisingly unclear). Also simplified the implementation (to my eyes -- it's arguable, but I'm the one working on it, so my eyes count <wink>). I believe this routine is key to fixing the range-search bug efficiently.
-
- 12 Jun, 2002 1 commit
-
-
Tim Peters authored
-
- 11 Jun, 2002 6 commits
-
-
Tim Peters authored
caller was compensating for this, others weren't, easier to fix the routine than its callers (it's unexpected that an error return may require the caller to decref an output argument). Noted but did not yet fix what looks to be a subtle algorithmic problem that can result in a bad answer in an unlikely (but possible) case.
-
Tim Peters authored
directly without doing the unghostification dance. Repaired to cache the child length once in a local vrbl, bracketed by the right persistence stuff.
-
Tim Peters authored
an error return.
-
Tim Peters authored
error return let a newly allocated object leak; curiously, there was one more of these in the Zope3 version of the code than on the trunk.
-
Tim Peters authored
finish the persistence dance.
-
Tim Peters authored
code and slashed nesting depth, but no semantic changes yet.
-
- 10 Jun, 2002 2 commits
-
-
Tim Peters authored
and Zope3 branch versions of this function. No semantic change.
-
Tim Peters authored
-
- 08 Jun, 2002 1 commit
-
-
Tim Peters authored
iteration protocol a destructor (finiSetIteration()), to plug assorted leaks of keys, values and even BTree nodes.
-
- 06 Jun, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 31 May, 2002 6 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
to squash delicate code duplication and for speed. + This is optimized in several subtle ways over the current method. This is documented in Maintainer.txt, along with a correctness proof. + I'll replace all the BTree searches with this soon. For now I just changed _BTree_get(). I *suspect* this also fixes a subtle bug introduced by the recent "don't ignore comparison error" patch: if a comparison did trigger an exception, the function just returned without doing the PER_ALLOW_DEACTIVATION + PER_ACCESSED dance. _BTree_get() does that dance again now.
-
Tim Peters authored
follows from that.
-
Tim Peters authored
"value" to "child". All the rest is mechanical name-changing. Next step is to change the decl of child from PyObject* to Sized*.
-
Toby Dickenson authored
long overdue merge of toby-cmp-error-branch. btrees no longer ignore exceptions raised by the key comparison function
-
- 30 May, 2002 2 commits
-
-
Jim Fulton authored
dumps. Copied source from 1.26.
-
Jeremy Hylton authored
-
- 28 May, 2002 1 commit
-
-
Jim Fulton authored
keys at the beginning of the BTree were deleted.
-
- 27 Mar, 2002 1 commit
-
-
Toby Dickenson authored
-
- 08 Mar, 2002 1 commit
-
-
Jeremy Hylton authored
Fix SF bug #516768 reported by Dave Wallace. Replace use of PyMem_DEL() with PyObject_Del() on object dealloc functions. The use of PyMem_DEL() is incorrect for object deallocation, because it only ever calls the low-level free(). If a custom allocator like pymalloc is used, it needs to be called to free the memory. Also replace bare malloc() and realloc() with PyMem_Malloc() and PyMem_Realloc(). I think this isn't a strict bug fix, but a would be nice. It guarantees that BTrees objects get their memory from the same allocator as the Python core.
-
- 28 Feb, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 21 Feb, 2002 1 commit
-
-
Jeremy Hylton authored
The code was intended to be added to the Zope3 branch, not modified on the trunk.
-
- 20 Feb, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 11 Feb, 2002 1 commit
-
-
Guido van Rossum authored
-
- 28 Nov, 2001 1 commit
-
-
matt@zope.com authored
-
- 12 Sep, 2001 1 commit
-
-
matt@zope.com authored
bucket when doing a "low" search.
-
- 13 Aug, 2001 1 commit
-
-
Andreas Jung authored
_p_resolveConflict could not handle tuples from getstate() properly
-
- 20 Jun, 2001 1 commit
-
-
matt@zope.com authored
instead of any other error that may be raised.
-