An error occurred fetching the project authors.
  1. 16 Apr, 2004 2 commits
  2. 15 Apr, 2004 1 commit
  3. 14 Apr, 2004 1 commit
  4. 01 Apr, 2004 1 commit
    • Jeremy Hylton's avatar
      Merge the jeremy-txn-branch to the head. · 860e89b9
      Jeremy Hylton authored
      This branch introduces a new transaction API.  The key features are:
        - top-level functions in transaction -- get(), commit(), abort()
        - explicit transaction manager objects
        - Transaction objects are used for exactly one transaction
        - support for transaction synchronizers
      
      The changes here are still provisional, but we want to get them off an
      obscure branch and onto the head for further development.
      860e89b9
  5. 02 Mar, 2004 2 commits
  6. 06 Jan, 2004 1 commit
    • Jeremy Hylton's avatar
      Make sure _setstate_noncurrent() returns True on success. · fb01c60d
      Jeremy Hylton authored
      Bug reported by Dieter Maurer.
      
      The change required several of the read-conflict tests to be updated
      to specify that they don't want MVCC support.  It was basically
      accidental that they passed before this change.  Note that we don't
      have any tests of code that gets a read conflict in MVCC mode, which
      would only be possible after a pack() or in some other weird case.
      fb01c60d
  7. 29 Dec, 2003 1 commit
  8. 24 Dec, 2003 1 commit
  9. 10 Dec, 2003 1 commit
  10. 28 Nov, 2003 1 commit
  11. 03 Nov, 2003 1 commit
  12. 02 Oct, 2003 1 commit
  13. 08 May, 2003 1 commit
  14. 23 Apr, 2003 2 commits
  15. 22 Apr, 2003 2 commits
  16. 08 Apr, 2003 1 commit
    • Jeremy Hylton's avatar
      Backport atomic invalidations code from Zope3. · b25cfe7a
      Jeremy Hylton authored
      The DB's invalidate() method takes a set of oids corresponding to all
      the changes from a data manager for one transaction.  All the objects
      are invalidated at once.
      
      Add a few tests in testZODB of the new code.  The tests just cover
      corner cases, because I can't think of a sensible way to test the
      atomicity.  When it has failed in the past, it's been caused by
      nearly-impossible to reproduce data races.
      
      This fix needs to be backported to Zope 2.6, but only after assessing
      how significant an impact the API change will have.
      b25cfe7a
  17. 17 Jan, 2003 1 commit
    • Shane Hathaway's avatar
      Merged shane-local-transactions-branch. · 93a40774
      Shane Hathaway authored
      This change adds a new method, setLocalTransaction(), to the
      Connection class.  ZODB applications can call this method to bind
      transactions to connections rather than threads.  This is especially
      useful for GUI applications, which often have only one thread but
      multiple independent activities within that thread (generally one per
      window).  Thanks to Christian Reis for championing this feature.
      
      Applications that take advantage of this feature should not use the
      get_transaction() function.  Until now, ZODB itself sometimes assumed
      get_transaction() was the only way to get the transaction.  Minor
      corrections have been added.  The ZODB test suite, on the other hand,
      can continue to use get_transaction(), since it is free to assume that
      transactions are bound to threads.
      93a40774
  18. 14 Jan, 2003 1 commit
  19. 06 Dec, 2002 1 commit
  20. 18 Nov, 2002 1 commit
  21. 07 Sep, 2002 1 commit
    • Jeremy Hylton's avatar
      Handle empty transactions without touching the storage. · d7a558d1
      Jeremy Hylton authored
      # NB: commit() is responsible for calling tpc_begin() on the storage.
      # It uses self._begun to track whether it has been called.  When
      # self._begun is None, it has not been called.
      
      # This arrangement allows us to handle the special case of a
      # transaction with no modified objects.  It is possible for
      # registration to be occur unintentionally and for a persistent
      # object to compensate by making itself as unchanged.  When this
      # happens, it's possible to commit a transaction with no modified
      # objects.
      
      # Since tpc_begin() may raise a ReadOnlyError, don't call it if there
      # are no objects.  This avoids spurious (?) errors when working with
      # a read-only storage.
      
      Add code to handle this in Connection's tpc_begin() and commit()
      methods.
      
      Add two tests in testZODB.
      d7a558d1
  22. 14 Aug, 2002 1 commit
  23. 08 Aug, 2002 1 commit
    • Jeremy Hylton's avatar
      Refactor test cleanup to use removefs() helper function. · 46d79eae
      Jeremy Hylton authored
      StorageTestBase.removefs() will attempt to remove files with all the
      possible extensions that FileStorage will create.  It will raise
      os.error for any error except ENOENT.
      
      Remove many variants of removefs() implemented in the various test
      suites.
      46d79eae
  24. 12 Jun, 2002 1 commit
    • Shane Hathaway's avatar
      It's really not safe for unit test modules to change sys.path. Doing · 2a74054a
      Shane Hathaway authored
      so makes the full suite brittle.  Cleaned out all the places where unit
      tests change sys.path.  (Use the PYTHONPATH environment variable instead.)
      
      Also brought SearchIndex tests up to date, which I didn't really need to do
      since SearchIndex is deprecated, but I did it as part of figuring out the
      failed Interface tests, so I might as well check in my work. ;-)  One of the
      test modules in SearchIndex forgets to define a global named "Dummy",
      actually, so all the tests were failing before this checkin anyway.
      2a74054a
  25. 14 Apr, 2001 1 commit