1. 21 Dec, 2004 4 commits
    • Tim Peters's avatar
      Merged rev 28664 from 3.3 branch. · d46d9854
      Tim Peters authored
      More cleanup.  Notable:
      
      ClientCache:  Removed the .tid attribute.  It was never updated; the
      contained FileCache instance actually keeps track of the last tid.
      This had the happy side effect of fixing bugs in testSerialization:
      it was accessing .tid directly, and so was _always_ comparing None to
      None.  Changing the test to use .getLastTid() instead means it's now
      testing what it always intended to test.
      
      FileCache:  Removed some unused private attributes for tracking
      internal statistics.
      d46d9854
    • Tim Peters's avatar
      More cleanup. Notable: · 49baf191
      Tim Peters authored
      ClientCache:  Removed the .tid attribute.  It was never updated; the
      contained FileCache instance actually keeps track of the last tid.
      This had the happy side effect of fixing bugs in testSerialization:
      it was accessing .tid directly, and so was _always_ comparing None to
      None.  Changing the test to use .getLastTid() instead means it's now
      testing what it always intended to test.
      
      FileCache:  Removed some unused private attributes for tracking
      internal statistics.
      49baf191
    • Tim Peters's avatar
      Merge rev 28660 from 3.3 branch. · 8c43d1f8
      Tim Peters authored
      More code and comment cleanups.  Notable changes:
      
      FileCache:  removed the currentsize attribute.  It was initialized
      to 0 but never updated.  Some tests referenced it, but since it was
      always 0 those tests weren't getting any good from it.  Don't
      recall (or never knew) what its intended purpose may have been.
      
      FileCache.remove():  Repaired major bug.  This mistakenly stored
      the "this disk block is free now" status byte into the start of
      the serialized Object record's end_tid field (incorrect seek
      offset).  The in-memory structures were correct then, but got out
      of synch with the disk file; the latter then still claimed to have
      info for a "live" object revision, but that revision was actually
      dead, and the info on disk had a corrupt end_tid value.
      8c43d1f8
    • Tim Peters's avatar
      More code and comment cleanups. Notable changes: · b266642f
      Tim Peters authored
      FileCache:  removed the currentsize attribute.  It was initialized
      to 0 but never updated.  Some tests referenced it, but since it was
      always 0 those tests weren't getting any good from it.  Don't
      recall (or never knew) what its intended purpose may have been.
      
      FileCache.remove():  Repaired major bug.  This mistakenly stored
      the "this disk block is free now" status byte into the start of
      the serialized Object record's end_tid field (incorrect seek
      offset).  The in-memory structures were correct then, but got out
      of synch with the disk file; the latter then still claimed to have
      info for a "live" object revision, but that revision was actually
      dead, and the info on disk had a corrupt end_tid value.
      b266642f
  2. 20 Dec, 2004 2 commits
  3. 10 Dec, 2004 2 commits
  4. 09 Dec, 2004 4 commits
  5. 16 Nov, 2004 2 commits
    • Tim Peters's avatar
      Merge rev 28466 from 3.3 branch. · a561cc4e
      Tim Peters authored
      Forward port from ZODB 3.2.
      
      Collector 1581:  fspack can blow up when .fs is corrupted
      
      Repaired three places where fspack referenced an undefined global while
      *trying* to raise CorruptedError.  Added new checkCorruptionInPack()
      test to verify the correct exception gets raised.
      
      a561cc4e
    • Tim Peters's avatar
      Forward port from ZODB 3.2. · 732638d1
      Tim Peters authored
      Collector 1581:  fspack can blow up when .fs is corrupted
      
      Repaired three places where fspack referenced an undefined global while
      *trying* to raise CorruptedError.  Added new checkCorruptionInPack()
      test to verify the correct exception gets raised.
      732638d1
  6. 11 Nov, 2004 11 commits
  7. 06 Nov, 2004 1 commit
  8. 05 Nov, 2004 4 commits
  9. 04 Nov, 2004 1 commit
    • Tim Peters's avatar
      Brrr. · 66e69bb4
      Tim Peters authored
      Weak sets have have pragmatic gotchas, explained in the comments
      before the new WeakSet.as_weakref_list() method.  In essence, we
      just took all the weak sets of connection objects and changed
      everything so that a list of live objects is never materialized
      anymore.  Also added new map()-like methods so that clients don't
      usually need to be aware of the weakrefs under the covers.
      66e69bb4
  10. 02 Nov, 2004 6 commits
  11. 01 Nov, 2004 1 commit
  12. 26 Oct, 2004 2 commits
    • Tim Peters's avatar
      Test auto-purging of the available-connection deque. · 1f669d95
      Tim Peters authored
      This triggered some code changes.  When closing a connection,
      the meaning of "the pool is too big" is debatable:  it may mean
      that the number of all connections the pool knows about exceeds
      pool_size, or it may mean that the stack of available
      connections (a subset of all the connections) exceeds pool_size.
      
      The code was changed to mean the latter, primarily because it's
      predictable.  The total number of connections the pool knows
      about can change at any time, because it depends on which weak
      references DB holds that cyclic gc hasn't yet cleared.
      
      But it doesn't matter much either way, since clients are never
      "supposed to" exceed pool_size anyway.  I think it degrades
      more gracefully this way.
      1f669d95
    • Tim Peters's avatar
      Illustrate stack-like connection reuse semantics. · 312b6095
      Tim Peters authored
      Also test that DB's internal weakrefs don't keep a
      Connection alive on their own.
      312b6095