- 24 Apr, 2005 9 commits
-
-
Jim Fulton authored
Added demonstration of transaction non-commitability after savepoint or savepoint rollback failure. Updated "previous commit failed" error to "previous operation failed".
-
Jim Fulton authored
transaction savepoints. Updated some interface declarations.
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
Once we start using savepoints, we need to make sure that all data are committed through the savepoints. Otherwise, things can get committed in the wrong order, leading to conflicts.
-
Jim Fulton authored
savepoint, then modified and then aborted. Also added missing code to clear registered objects when a savepoint was rolled back.
-
Jim Fulton authored
(And also added interfaces and rearranged some code to hopefully make it easier to read.)
-
Jim Fulton authored
-
Jim Fulton authored
-
- 23 Apr, 2005 1 commit
-
-
Tim Peters authored
Also fiddled things to make this look like release 3.4a4.
-
- 22 Apr, 2005 3 commits
-
-
Tim Peters authored
In addition, repaired the useless default logging in runzeo.py. Here's Sidnei's Zope 2.7 checkin comment: * Borrow Zope's 'Signal' mechanism for Windows, if available, to implement clean shutdown and log rotation handlers for Windows. * Back to creating a .PID for ZEO, so external programs that wish to set the 'signal' can get the PID and therefore derive the signal name. Currently only necessary on Windows but created on all platforms which implement os.getpid(), as long as the 'pid-filename' option is set, or the 'INSTANCE_HOME' environment variable can be found.
-
Tim Peters authored
DemoStorage: Added implementations for registerDB() and new_oid(). As Tres discovered the hard way, wrapping a ZEO client storage as a DemoStorage base storage yields insane behavior otherwise. BaseStorage.new_oid(): Rewrite to eliminate recursion, and hence also the need for the undocumented and irregular `last=` argument. Other: removed the `last=` argument to new_oid() every place that felt compelled to spread that insanity ;-). Seriously, it served no purpose at all elsewhere, and looks like people just cut 'n pasted in fear.
-
Tim Peters authored
-
- 14 Apr, 2005 1 commit
-
-
Tim Peters authored
-
- 13 Apr, 2005 3 commits
-
-
Tim Peters authored
for Zope3 and Zope trunk development to use.
-
Tim Peters authored
-
Tim Peters authored
-
- 10 Apr, 2005 1 commit
-
-
Tim Peters authored
The test didn't work if run more than once (e.g., via Zope3's test.py's "-N <n>" argument, or via ZODB's test.py's "-L" argument), because the warnings module suppresses warnings after the first a single line. Made the warnings module report repeats of DeprecationWarnings for the duration of the test.
-
- 07 Apr, 2005 1 commit
-
-
Tim Peters authored
This is Florent Guillaume's branch, giving transaction objects a new beforeCommitHook() method, as proposed by Jim Fulton on zodb-dev. Some changes were made to the branch code (comments, more tests, more words in the docs).
-
- 06 Apr, 2005 1 commit
-
-
Tim Peters authored
This doesn't have a lot of visible effect on standalone ZODB use, but is important for Zope 2.8. Here are checkin msgs from the branch relating to ZODB code: r29872 | jim | 2005-04-04 07:04:39 -0400 (Mon, 04 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/serialize.py For instances of persistent classes, save a class-module/clas-name tuple if the class has a non-empty module string. ------------------------------------------------------------------------ r29871 | jim | 2005-04-04 07:04:33 -0400 (Mon, 04 Apr 2005) | 6 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed sub-transaction abort code to not invalidate created objects. There's really no point, because created objects will be unreachable after invalidating old objects. Also, if a created object is non-ghostifiable, it will try to load it's state again, and then either it would fail or it would load non-committed state. ------------------------------------------------------------------------ r29870 | jim | 2005-04-04 07:04:27 -0400 (Mon, 04 Apr 2005) | 3 lines Changed paths: A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/persistentclass.py A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/persistentclass.txt A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/tests/testpersistentclass.py Added ZClass-independent test of (and possible base class for) persistent-class support machinery. ------------------------------------------------------------------------ r29867 | jim | 2005-04-04 07:03:48 -0400 (Mon, 04 Apr 2005) | 2 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_manager.py Added missing arguments to commit and abort. ------------------------------------------------------------------------ r29774 | jim | 2005-04-01 06:24:27 -0500 (Fri, 01 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/__init__.py Changed to use methods of a threaded manager directly, rather than through wrapper functions. ------------------------------------------------------------------------ r29773 | jim | 2005-04-01 06:24:25 -0500 (Fri, 01 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_manager.py Added commit and abort methods to transaction managers. This makes direcr use of managers simpler. ------------------------------------------------------------------------ r29101 | jim | 2005-02-10 07:44:52 -0500 (Thu, 10 Feb 2005) | 2 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Removed an unused attribute. ------------------------------------------------------------------------ r29100 | jim | 2005-02-10 07:42:35 -0500 (Thu, 10 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_transaction.py Changed an XXX comment to an ordinary comment, explaining the relevent issue. ------------------------------------------------------------------------ r29099 | jim | 2005-02-10 07:41:58 -0500 (Thu, 10 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed some XXX comments to ordinary comments explaining the relevent issues. ------------------------------------------------------------------------ r29071 | jim | 2005-02-07 07:36:05 -0500 (Mon, 07 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_transaction.py Added a sanity check to avoid registration of objects without a manager. (Perhaps this should be an assert.) ------------------------------------------------------------------------ r29067 | jim | 2005-02-07 07:35:56 -0500 (Mon, 07 Feb 2005) | 15 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed the strategy for handling invalidation of classes. No-longer use setklassstate. Instead, just call _p_invalidate, as with any other object. This changes didn't break any tests, so I assume that this was untested. :( Changed the strategy for invalidating objects. Non-ghostifiable objects will load their state when they are invalidated. We have to worry about other invalidations that come in while this is happening. See the comment in _flush_invalidations. We need to force all invalidations to take this into account, by going through _flush_invalidations. I haven't done this yet, but I have left some XXX comments in places where it needs to be done to remind myself that this needs to be done. ------------------------------------------------------------------------ r29066 | jim | 2005-02-07 07:35:54 -0500 (Mon, 07 Feb 2005) | 8 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/persistent/cPickleCache.c Changed the strategy for handling invalidation of classes. No-longer use setklassstate. Instead, just call _p_invalidate, as with any other object. This changes didn't break any tests, so I assume that this was untested. :( Change invalidation to not swallow errors. (Swallowing errors here was a travesty!)
-
- 05 Apr, 2005 1 commit
-
-
Tim Peters authored
Port from Zope 2.7 branch. The various flavors of the ``check2ZODBThreads`` and ``check7ZODBThreads`` tests are much less likely to suffer sproadic failures now.
-
- 04 Apr, 2005 2 commits
-
-
Tim Peters authored
Since ZODB needs to work with Zope trunk, keeping this dependence in synch is important.
-
Tim Peters authored
Zope trunk gets it.
-
- 03 Apr, 2005 2 commits
-
-
Tim Peters authored
development get a release tag to use.
-
Tim Peters authored
-
- 02 Apr, 2005 1 commit
-
-
Tim Peters authored
The Persistence module no longer exists in Zope3's idea of what ZODB is, but this test relies on it. Make it tolerate the absence of Persistence.
-
- 01 Apr, 2005 10 commits
-
-
Fred Drake authored
(backported from trunk revisions 29818 and 29819)
-
Fred Drake authored
-
Tim Peters authored
Noet that the URL doesn't exist yet.
-
Tim Peters authored
The ZODB trunk is for 3.5 now.
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
This is news about ZEO protocol changes. The promised update of README.txt will have to be rewritten from scratch for 3.4 (the new text in 3.3's README.txt isn't quite right for the 3.4 release).
-
Tim Peters authored
Rewrite ZEO protocol negotiation. 3.3 should have bumped the ZEO protocol number (new methods were added for MVCC support), but didn't. Untangling this is a mess.
-
- 31 Mar, 2005 1 commit
-
-
Tim Peters authored
the most common cases (commit() and abort()) -- it's not really obvious that shortcut spelling exist for those.
-
- 30 Mar, 2005 2 commits
-
-
Tim Peters authored
Merge checkin made from a wrong project. Believe it or not, ZopeUndo is ZEO code, not Zope code. r29726 | slinkp | 2005-03-30 02:11:22 -0500 (Wed, 30 Mar 2005) | 3 lines Changed paths: M /Zope/trunk/lib/python/ZopeUndo/Prefix.py M /Zope/trunk/lib/python/ZopeUndo/tests/testPrefix.py Merged slinkp_1726_zopeundo: avoid showing undo transactions in the wrong folder.
-
Jim Fulton authored
-
- 28 Mar, 2005 1 commit
-
-
Tim Peters authored
This always slept for 3 seconds, waiting for the storage to disconnect. This loses on two counts: 1. Since the timeout is set to 1 second, it typically sleeps longer than necessary. 2. Since there's no predicting thread and process scheduling, 3 seconds isn't always long enough, and rare failures have been reported against this test. Instead we do a polling loop now. This typically succeeds in a little more than a second, speeding the normal case. The loop will continue trying for up to a minute if not.
-