1. 05 Jul, 2016 1 commit
  2. 04 Jul, 2016 11 commits
  3. 01 Jul, 2016 8 commits
    • Jim Fulton's avatar
      5.0.0a3 · a2ae6700
      Jim Fulton authored
      a2ae6700
    • Jim Fulton's avatar
      4.4.1 · 05be22e0
      Jim Fulton authored
      05be22e0
    • Jim Fulton's avatar
      Merge remote-tracking branch 'origin/4' · 76585b67
      Jim Fulton authored
      Conflicts:
      	src/ZODB/interfaces.py
      76585b67
    • Jim Fulton's avatar
      5.0.0a2 · eb04da49
      Jim Fulton authored
      eb04da49
    • Jim Fulton's avatar
      Merge pull request #76 from zopefoundation/IMultiCommitStorage · caf745f6
      Jim Fulton authored
      Define a new interface for storages that support the new commit protocol.
      caf745f6
    • Jim Fulton's avatar
      fixed typos · d74589ef
      Jim Fulton authored
      d74589ef
    • Jim Fulton's avatar
    • Julien Muchembled's avatar
      Better support of the new API to notify of resolved conflicts (store/tpc_finish) · 572a9652
      Julien Muchembled authored
      When switching all storages to the new API in the master branch,
      I found a few issues, mainly with blobs.
      
      1. Created/modified blobs are invalidated during the first phase
         (in Connection._store_objects):
      
          obj._p_invalidate()
      
          And with the old API, _handle_serial then sets _p_serial
          Ghost objects are not supposed to have a _p_serial and with the new API,
          a few tests would fail because _p_serial are checked without activating the
          blob first.
      
      2. Another consequence of _handle_serial not updating _p_changed/_p_serial
         immediately is that created objects are stored twice if __getstate__
         modifies itself. This case is tested in testConnection by
         doctest_lp485456_setattr_in_setstate_doesnt_cause_multiple_stores
      
          Hence the change in Connection._commit:
          - self._modified is already appended in Connection._store_objects
          - (obj._p_serial == z64) instead of (oid in self._creating)
            would not work for savepoints.
      
      3. Setting _p_changed of a Blob with no uncommitted changes would cause an error
         (lp440234_Setting__p_changed_of_a_Blob_w_no_uncomitted_changes_is_noop)
      
          Fixed by the same change as in 2:
          - oid was appended twice to self._modified but reverted one
            (self._modified.pop() in _store_objects)
          - the test passed because _p_changed was reset early by _handle_serial
      572a9652
  4. 30 Jun, 2016 5 commits
  5. 23 Jun, 2016 1 commit
  6. 22 Jun, 2016 2 commits
  7. 21 Jun, 2016 1 commit
  8. 20 Jun, 2016 1 commit
  9. 19 Jun, 2016 4 commits
  10. 18 Jun, 2016 4 commits
  11. 17 Jun, 2016 2 commits