1. 29 Mar, 2002 3 commits
    • Barry Warsaw's avatar
      checkTransactionalUndoAfterPack(): Removed two tests that weren't · 94f9723e
      Barry Warsaw authored
      really testing what we're interested in (they were testing the
      equality of the exact layout of the undoInfo() -- not interesting).
      94f9723e
    • Barry Warsaw's avatar
      checkTransactionalUndoAfterPack(): A better test which confirms the · f1771335
      Barry Warsaw authored
      suspicion that FileStorage (and an FS-backed ZEO) fails a
      transactional undo after a pack, but Berkeley storage passes.
      f1771335
    • Jeremy Hylton's avatar
      Don't pass a revid to pack(). Pass the current time. · 2dc2c876
      Jeremy Hylton authored
      Two problems: A revid doesn't have the right type.  But even if we
      decoded the revid using TimeStamp(revid).timeTime(), it would be the
      wrong time.  We want to pack to the current time to delete older
      revisions.
      
      I believe the test case tried to keep one revision available so that
      it could be packed.  The new test doesn't do that, so it will fail
      even after we fix FileStorage.  I think the right answer is to call
      time.time() after the second commit *and* make sure that there is at
      least a one second delay between the two stores.
      2dc2c876
  2. 28 Mar, 2002 4 commits
    • Barry Warsaw's avatar
      checkTransactionalUndoAfterPack(): This is a test which should provoke · 117ac975
      Barry Warsaw authored
      the underlying bug in transactionalUndo() on a standby storage.  If
      our hypothesis is correct, the bug is in FileStorage, and is caused by
      encoding the file position in the `id' field of the undoLog
      information.  Note that Full just encodes the tid, but this is a
      problem for FileStorage (we have a strategy for fixing this).
      
      NOTE: checking this in on the trunk is mildly antisocial because it
      introduces failures in the test suite.  I'm doing it this way because
      1) it really isn't worth a branch, even a short lived one; 2) Jeremy
      may have time to look at it before tomorrow; 3) I don't trust my
      machine not to lock up and make this mod unavailable. :(
      
      Either way, this /will/ get fixed by tomorrow.
      117ac975
    • Jeremy Hylton's avatar
      Replace more KeyErrors with POSKeyErrors · 74b32e2c
      Jeremy Hylton authored
      74b32e2c
    • Jeremy Hylton's avatar
      zeoup now writes an object in the root to test transaction commit. · e4f3bea7
      Jeremy Hylton authored
      The --nowrite option will disable writing.  (It's not possible to
      enable writing and disable reading, so that's the only option.)
      e4f3bea7
    • Jeremy Hylton's avatar
      Backport Jim's conflict error fix from the Zope-3x-branch. · b7ee5ae9
      Jeremy Hylton authored
      The problem was that the randomly generated test data was occasionally
      invalid.  Fix is to hardcode a specific set of test data instead of
      using random.
      b7ee5ae9
  3. 27 Mar, 2002 1 commit
  4. 15 Mar, 2002 4 commits
  5. 12 Mar, 2002 2 commits
  6. 11 Mar, 2002 1 commit
  7. 08 Mar, 2002 3 commits
    • Jeremy Hylton's avatar
      (Possibly) correct use of Python memory APIs. · 8d5f319c
      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.
      8d5f319c
    • Jeremy Hylton's avatar
      (Possibly) correct use of Python memory APIs. · b258cbf4
      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.
      b258cbf4
    • Jeremy Hylton's avatar
      Add a sane __str__() to transaction objects. · 7ec2d4dc
      Jeremy Hylton authored
         The previous, insane version was passing None or a thread id to "%.03f".
      
      Add some whitespace around get_transaction() implementations.
      7ec2d4dc
  8. 28 Feb, 2002 2 commits
  9. 21 Feb, 2002 1 commit
  10. 20 Feb, 2002 1 commit
  11. 13 Feb, 2002 1 commit
  12. 12 Feb, 2002 3 commits
  13. 11 Feb, 2002 6 commits
  14. 07 Feb, 2002 1 commit
  15. 30 Jan, 2002 7 commits