1. 17 Jul, 2016 1 commit
    • Jim Fulton's avatar
      - Added a connection prefetch method that can be used to request · 04028a08
      Jim Fulton authored
        that a storage prefect data an application will need::
      
          conn.prefetch(obj, ...)
      
        Where arguments can be objects, object ids, or iterables of objects
        or object ids.
      
        Added optional prefetch methods to the storage APIs. If a
        storage doesn't support prefetch, then the connection prefetch
        method is a noop.
      04028a08
  2. 13 Jul, 2016 1 commit
  3. 12 Jul, 2016 5 commits
    • Jim Fulton's avatar
      Fix testMinimizeTerminates · f4e9202f
      Jim Fulton authored
      This test was spewing exceptions without failing for ZODB5.
      
      The spew was an indication that something was wrong in this case. (The
      test was broken.)
      
      There had been some bug in the object cache that caused an infinite
      loop when objects woke themselves up while being reaped.  This test is
      a regression test for that bug.
      
      The test was sloppy about transaction managers.  The test class
      creates a bunch of connections using the threaded transaction manager,
      but this test used a thread to execute the critical code.  As a
      result, the synchronization methods weren't called.  This didn't
      matter much with ZODB4.  The objects were still able to load their
      state.
      
      With ZODB5, the synchronization methods are important for proper MVCC
      and because they weren't called, the objects' state couldn't be
      reloaded, with 2 effects:
      
      - Spew
      
      - The test wasn't really testing that object's that reloaded
        themselves didn't create an infinite loop.
      
      Changed the test to not use a threaded transaction manager.
      f4e9202f
    • Jim Fulton's avatar
      removed out of date comment · 5fa51838
      Jim Fulton authored
      5fa51838
    • Jim Fulton's avatar
      Refactored FileStorage transactional undo · 436d6e7b
      Jim Fulton authored
      As part of a project to provide object-level commit locks for ZEO, I'm
      refactiring FileStorage to maintain transaction-specific data in
      Tranaction.data.  This involved undo.  In trying to figure this out, I
      found:
      
      - A bug in _undoDataInfo, which I verified with some tests and
      
      - _transactionalUndoRecord was maddeningly difficult to reason about
        (and thus change).
      
      I was concerned less by the bug than my inability to know whether a
      change to the code would be correct.
      
      So I refactored the code, mainly transactionalUndoRecord, to make the
      code easier to understand, fixing some logic errors (I'm pretty sure)
      along the way.  This included lots of comments. (Comments are much
      easier to compose when you're working out logic you didn't
      understand.)
      
      In addition to makeing the code cleaner, it allows undo to be handled
      in cases that weren't handled before.
      436d6e7b
    • Jim Fulton's avatar
      Merge pull request #87 from NextThought/handle-serials · 686f169f
      Jim Fulton authored
      Per @jimfulton, handle_all_serials shouldn't be sniffing in ZODB5
      
      Thanks.
      686f169f
    • Jason Madden's avatar
  4. 11 Jul, 2016 2 commits
  5. 09 Jul, 2016 2 commits
  6. 06 Jul, 2016 4 commits
  7. 05 Jul, 2016 6 commits
  8. 04 Jul, 2016 12 commits
  9. 01 Jul, 2016 7 commits