- 17 Sep, 2004 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
New test checkReadConflictErrorClearedDuringAbort(). This confirms that 3.3 didn't have the 3.2.4c1 bug wherein an explict transaction abort() failed to clear Connections' memory of ReadConflictErrors.
-
- 14 Sep, 2004 4 commits
-
-
Tim Peters authored
Act as if a 3.3c1 release were being made. Maybe it will be. Besides "the usual" release fiddling, repaired many out-of-date pieces of the ZODB programming guide; I'm sure many remain, though.
-
Tim Peters authored
A test here didn't clean up after a failing commit().
-
Tim Peters authored
Removed obsolete comment.
-
Tim Peters authored
As discussed on zodb-dev, failing commit "sticks" now. After a commit fails (raises an exception), all subsequent attempts to commit, join, or register with the transaction now raise the new TransactionFailedError. The failed transaction must be explicitly discarded now, via abort() on the transaction or begin() on its transaction manager.
-
- 10 Sep, 2004 1 commit
-
-
Tim Peters authored
Officially deprecate Transaction.begin().
-
- 09 Sep, 2004 1 commit
-
-
Tim Peters authored
Forward port from Zope 2.7 branch. The ConflictError.get_{old,new}_serial() methods each did what the other was supposed to do.
-
- 04 Sep, 2004 1 commit
-
-
Tim Peters authored
Port from Zope 2.7 branch. Collector #1488 (TemporaryStorage -- going backward in time). This confusion was really due to that the detail on a ConflictError exception didn't make sense.
-
- 31 Aug, 2004 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
_handle_independent(): Failed to record that a ReadConflictError was raised for an object with a _p_independent() method that returned false.
-
Tim Peters authored
-
- 27 Aug, 2004 1 commit
-
-
Tim Peters authored
Raise ConnectionStateError if an attempt to close a connection is made while the connection has a pending subtransaction.
-
- 26 Aug, 2004 1 commit
-
-
Tim Peters authored
Transaction.begin() didn't do anything. begin() is supposed to abort the current transaction, but Transaction.begin() did not. Calling begin() on a transaction *manager* worked fine, and is the intended way to do a begin() in 3.3. But calling begin() on a Transaction object is still very easy to do (e.g., the older get_transaction().begin() spelling still works), and shouldn't be a subtle disaster.
-
- 25 Aug, 2004 2 commits
-
-
Tim Peters authored
Empty BTrees/__init__.py; isn't doing anything except creating problems.
-
Tim Peters authored
It's possible that an oid is referenced despite never being defined (well, it's not *supposed* to be possible ...).
-
- 23 Aug, 2004 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
- 21 Aug, 2004 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
automated test. There were so many oddities getting that test to pass, and so much consequent fiddling of other code, that I don't intend to merge this to the 3.3 branch. Also moved to current Python CVS doctest.py, because the test really needs the +ELLIPSIS option (tids vary across runs).
-
- 19 Aug, 2004 1 commit
-
-
Tim Peters authored
and extension fields from a transaction was fatally confused, usually reading them out of the object pickle by mistake. This caused several tools to display binary gibberish.
-
- 18 Aug, 2004 1 commit
-
-
Tim Peters authored
Forward port from Zope 2.7 branch. analyze_rec(): This produced spurious "len of unsized object" messages when a data record had a backpointer instead of a pickle. Repaired. analyze(), analyze_trans(): Simplified overly elaborate iteration code.
-
- 17 Aug, 2004 2 commits
-
-
Tim Peters authored
Forward port from Zope 2.7 branch. Many changes to fsrefs.py, based on problems I hit using it in real life.
-
Tim Peters authored
Forward port from Zope 2.7 branch. oid_repr(): Make it obvious which base is intended. The output was 3-way ambiguous.
-
- 13 Aug, 2004 1 commit
-
-
Tim Peters authored
Just changing what we're calling the next release.
-
- 12 Aug, 2004 2 commits
-
-
Tim Peters authored
Please don't do that: ZODB changes need to be done in the ZODB project. Checkins to Zope3 have no effect on ZODB in reality. This includes: r26945 | jim | 2004-08-06 18:30:44 -0400 (Fri, 06 Aug 2004) | 6 lines M /Zope3/trunk/src/persistent/tests/test_persistent.py Updated to work with the versions of doctest from Python with versions greater than or equal to 2.3.0 and less than 2.4.0.a2 and with versions greater than 2.4.0a2. r26482 | srichter | 2004-07-13 13:07:03 -0400 (Tue, 13 Jul 2004) | 2 lines M /Zope3/trunk/src/transaction/__init__.py M /Zope3/trunk/src/transaction/_transaction.py M /Zope3/trunk/src/transaction/tests/test_transaction.py Converted XXX to TODO. r25953 | sidnei | 2004-06-23 13:14:20 -0400 (Wed, 23 Jun 2004) | 1 line M /Zope3/trunk/src/ZODB/interfaces.py M /Zope3/trunk/src/transaction/_transaction.py Add missing sortKey method to ZopeDBTransactionManager and DataManagerAdapter, and also add it to the interface. r25273 | philikon | 2004-06-06 04:43:57 -0400 (Sun, 06 Jun 2004) | 4 lines Changed paths: M /Zope3/trunk/src/BTrees M /Zope3/trunk/src/ZODB M /Zope3/trunk/src/persistent Ignore .so files. This fix should probably be merged to the original ZODB tree.
-
Tim Peters authored
-
- 11 Aug, 2004 4 commits
-
-
Tim Peters authored
These are preliminary 3.3c1 release changes.
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
Reworked the way some of the ZEO tests use threads, so that unittest is more likely to notice the real cause of a failure (which usually occurs in a thread), and less likely to latch on to spurious problems resulting from the real failure. Detail: The TestThread class got the (unittest) test case as an argument, and remembered it. If the run() method saw the thread die with an exception, it called testcase.fail() with the formatted exception. But this can't work as apparently intended: unittest's fail() raises an AssertionError then, and the piece of unittest running the test expects to catch that exception and append the message to the result object's list of failures. But the piece of unittest running the test isn't on *this* thread's call stack! It's on the main thread's call stack. So unittest simply raised an exception that wasn't noticed by anything, and the thread died then, leaving a traceback somewhere in the middle of the output. unittest didn't know anything about that, and sometimes thought the test passed despite the thread failure. Alas, when a thread dies like this it's also got a decent chance of leaving things in a state where the test's final checking code can't succeed, but the checking code doesn't know the thread died either, and spurious unittest failures and errors could get reported then. Reworked things so that only the main thread ever tries to tell unittest that a test failed. A TestThread remembers an exception- death now, but doesn't report it until the main thread tries to join it. This way unittest knows the test failed; records and reports the true cause of failure; and, because tests generally join all their threads before doing their final checking, unittest stops the test before final checking if a thread death occurred, and so there's less chance of seeing reports of spurious errors and failures.
-
- 27 Jul, 2004 2 commits
-
-
Tim Peters authored
Repair type in pack() docstring.
-
Tim Peters authored
repozo improvement suggested by Toby Dickenson. Write backups to a temp file first; flush and fsync when done; only then rename; in case of a crash, no relevant damaged file will be left behind then. And on Windows, Python's os.fsync() is necessary to convince the OS to write anything to disk.
-
- 11 Jul, 2004 1 commit
-
-
Tim Peters authored
Repaired massive lies I introduced about whether fsrefs requires application code to be available. Noted that fsrefs also partly verifies the sanity of the .fs.index file.
-
- 10 Jul, 2004 1 commit
-
-
Tim Peters authored
Repaired a bug wherein spurious error msgs could be produced after reporting a problem with an unloadable object (discovered by eyeball, while staring at the code to figure out what it actually does). Vastly expanded the module docstring, with a slimmed-down version of the new fsrefs docs on the ZODB Wiki.
-
- 08 Jul, 2004 1 commit
-
-
Tim Peters authored
Zope3-dev Collector #139: Memory leak involving buckets and connections Connection objects were typically immortal because the threaded transaction manager kept them in ever-growing lists. Reworked the transaction manager internals to use a simple implementation of weak sets instead. This plugs all leaks in the test program attached to the collector report (which was leaking about 100KB/sec on my box).
-
- 02 Jul, 2004 1 commit
-
-
Tim Peters authored
Forward-porting from Zope 2.7. Merged from 3.3 branch, revision 26085. The checkFullTimeStamp() test was sensitive to unique mktime() behavior on FreeBSD. See: http://lists.freebsd.org/pipermail/freebsd-standards/2003-November/000268.html The purpose of this test is to exercise ZODB's TimeStamp object, so got rid of dependence on platform mktime() and time.timezone quirks -- TimeStamp works in GMT, so how mktime() treats tm_isdst should be irrelevant in all TimeStamp tests. Also added a comment about the highly non-obvious numeric characteristics of TimeStamp's treatment of seconds (round-tripping is surprisingly inaccurate, but for a real reason).
-