- 22 Mar, 2005 1 commit
-
-
Tim Peters authored
-
- 21 Mar, 2005 13 commits
-
-
Tim Peters authored
Jim (Fulton) points out that it's not entirely clear that the new format can't be read by older ZODBs, and Tim doesn't think it's worth the bother to find out for sure.
-
Tim Peters authored
Added news blurbs about fsIndex improvements, and about that .index files written by 3.4 won't be readable by earlier ZODBs.
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
test.py ran these tests ran after "setup build_ext -i", but not after "setup build". Repaired by teaching setup.py to copy more stuff out of the relevant directories.
-
Tim Peters authored
There's a mystery: the tests for it appear to run after "build_ext -i", but not after "build". But that appears to be true for the long-stitched-in zope.interface too.
-
Tim Peters authored
-
Tim Peters authored
This introduces a "multi-database" concept (a simplification of Jim's Wiki proposal), and adds many interface definitions. Work done during the PyCon 2005 ZODB sprint, by Christian Theune, Jim Fulton and Tim Peters.
-
- 20 Mar, 2005 5 commits
-
-
Chris McDonough authored
-
Chris McDonough authored
-
Chris McDonough authored
No commit message
-
Chris McDonough authored
Add a record iteration protocol to FileStorage. You can use the record iterator to iterate over all current revisions of data pickles in the storage. In order to support calling via ZEO, we don't implement this as an actual iterator. An example of using the record iterator protocol is as follows: storage = FileStorage('anexisting.fs') next_oid = None while 1: oid, tid, data, next_oid = storage.record_iternext(next_oid) # do something with oid, tid and data if next_oid is None: break The behavior of the iteration protocol is now to iterate over all current records in the database in ascending oid order, although this is not a promise to do so in the future.
-
Tim Peters authored
Document exclude{min,max}. The ZODB4 BTrees excludemin/excludemax arguments got implemented in 3.3, but the corresponding changes to the BTrees interface file got dropped on the floor.
-
- 17 Mar, 2005 1 commit
-
-
Tim Peters authored
Merge checkin made from a wrong project: r29511 | gotcha | 2005-03-16 11:01:21 -0500 (Wed, 16 Mar 2005) | 1 line Changed paths: M /Zope/trunk/utilities/ZODBTools/zodbload.py port features from 2.7
-
- 14 Mar, 2005 1 commit
-
-
Tim Peters authored
Backward compatibility hack for ZODB.Persistent{List,Mapping}. Allow those old (ZODB 3.2) dotted paths to work again. Fallout: testPersistentMapping.py hasn't actually run anything for a long time, due to a mysterious "return None" at the start of its test_suite() function. Removed that. Then its checkNewPicklesAreSafe test failed. Spent 15 minutes on that, and gave up -- I'm still not even sure what it's _trying_ to test. Changed it to a TODO.
-
- 11 Mar, 2005 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
-
- 07 Mar, 2005 1 commit
-
-
Tim Peters authored
Add more words about __del__ methods.
-
- 03 Mar, 2005 1 commit
-
-
Tim Peters authored
r29290 | frerich | 2005-02-24 17:36:00 -0500 (Thu, 24 Feb 2005) Changed paths: M /Zope3/trunk/src/ZODB/tests/dbopen.txt ... minor editing r29247 | gintautasm | 2005-02-22 06:40:26 -0500 (Tue, 22 Feb 2005) Changed paths: M /Zope3/trunk/src/BTrees/Interfaces.py ... More minor nitpicks. This should be the last one.
-
- 02 Mar, 2005 3 commits
-
-
Tim Peters authored
-
Tim Peters authored
-
Tim Peters authored
Also: s/3.3/3.4/g, since the trunk represents 3.4 development now. s/ZODB3/ZODB/g, since we stopped calling the module ZODB3 when we moved from CVS to SVN, and ZODB4 isn't talked about anywhere anymore. Updated recommended Python version to 2.3.5.
-
- 01 Mar, 2005 1 commit
-
-
Tim Peters authored
positive_id(): Use a trick from Armin Rigo to deduce the native platorm address size.
-
- 28 Feb, 2005 1 commit
-
-
Tim Peters authored
Port from ZODB 3.2. Change FileStorage .restore() and .store() to update max oid in use. This is the last of the checkins to fix critical bugs involving rare cases where a FileStorage could end up reusing old oids for new objects.
-
- 25 Feb, 2005 1 commit
-
-
Tim Peters authored
Port from ZODB 3.2. Stop believing the maximum oid cached in a FileStorage's .index file. This is a critical bugfix, although the problems it addresses are (a) rare; and, (b) not entirely fixed yet (more checkins to come). The true max oid is found efficiently now by exploiting the recently-added fsIndex.maxKey() method (which was, of course, added for this purpose). Also fix that the .index file could get updated on disk when the FileStorage was opened in read-only mode. The code was trying to prevent this, but missed the most obvious rewrite path. Incidentally improved many obsolete and/or incorrect comments.
-
- 24 Feb, 2005 2 commits
-
-
Tim Peters authored
Port from ZODB 3.2. Give fsIndex an efficient maxKey() implementation. This will (in a later checkin) be used to give FileStorage an "obviously correct" way to determine the largest oid used in an .fs.index file.
-
Tim Peters authored
Port from ZODB 3.2. Note that cPickleCache.c must be recompiled else the new test will fail. Change the exception raised when an attempt is made to add two objects to the cache with the same oid. The former messsage didn't make sense. Add a test to verify that this exception does get raised, and that the message given is the intended one. This is the first of a series of checkins, to fix critical bugs where ZODB can in fact raise this exception in rare, but normal, use cases.
-
- 17 Feb, 2005 1 commit
-
-
Tim Peters authored
setUp(): Use a much smaller (than default) ZEO client cache. The current default is 200MB, and at least testSerialization reads the entire cache file into one giant string. That grossly boosts the process highwater mark when running the tests. Windows reclaims the memory after, but other platforms may not. Cool: testSerialization was one of the slowest tests before, but is 100x faster now.
-
- 10 Feb, 2005 1 commit
-
-
Tim Peters authored
Side-port changes checked in from a wrong project (Zope trunk): r28991 | jim | 2005-01-31 10:45:46 -0500 (Mon, 31 Jan 2005) | 5 lines ... Renamed the Zope package to Zope2 Import of the Zope package is now deprecated, but will be supported until Zope 2.11.
-
- 09 Feb, 2005 1 commit
-
-
Tim Peters authored
Forward port from ZODB 3.2. Connection.__init__(): Python 2.4 added a new gimmick to asyncore (a ._map attribute on asyncore.dispatcher instances) that breaks the delicate ZEO startup dance. Repaired that.
-
- 05 Feb, 2005 1 commit
-
-
Tim Peters authored
Port from ZODB 3.2. Fixed several thread and asyncore races in ZEO's connection dance. ZEO/tests/ConnectionTests.py The pollUp() and pollDown() methods were pure busy loops whenever the asyncore socket map was empty, and at least on some flavors of Linux that starved the other thread(s) trying to do real work. This grossly increased the time needed to run tests using these, and sometimes caused bogus "timed out" test failures. ZEO/zrpc/client.py ZEO/zrpc/connection.py Renamed class ManagedConnection to ManagedClientConnection, for clarity. Moved the comment block about protocol negotiation from the guts of ManagedClientConnection to before the Connection base class -- the Connection constructor can't be understood without this context. Added more words about the delicate protocol negotiation dance. Connection class: made this an abstract base clase. Derived classes _must_ implement the handshake() method. There was really nothing in common between server and client wrt what handshake() needs to do, and it was confusing for one of them to use the base class handshake() while the other replaced handshake() completely. Connection.__init__: It isn't safe to register with asyncore's socket map before special-casing for the first (protocol handshake) message is set up. Repaired that. Also removed the pointless "optionalness" of the optional arguments. ManagedClientConnection.__init__: Added machinery to set up correct (thread-safe) message queueing. There was an unrepairable hole before, in the transition between "I'm queueing msgs waiting for the server handshake" and "I'm done queueing messages": it was impossible to know whether any calls to the client's "queue a message" method were in progress (in other threads), so impossible to make the transition safely in all cases. The client had to grow its own message_output() method, with a mutex protecting the transition from thread races. Changed zrpc-conn log messages to include "(S)" for server-side or "(C)" for client-side. This is especially helpful for figuring out logs produced while running the test suite (the server and client log messages end up in the same file then).
-
- 04 Feb, 2005 2 commits
-
-
Dmitry Vasiliev authored
-
Dmitry Vasiliev authored
Most frequently "<unknown>" classes appears for objects changed later in the same transaction with changes of an interesting objects so we save data records for all objects changed in the transaction and then check them for references.
-