An error occurred fetching the project authors.
- 30 May, 2003 1 commit
-
-
Jeremy Hylton authored
After the merge, I made several Python 2.1 compatibility changes for the auth code.
-
- 19 May, 2003 1 commit
-
-
Christian Robottom authored
information to ReadConflictError
-
- 08 May, 2003 1 commit
-
-
Jeremy Hylton authored
-
- 23 Apr, 2003 2 commits
-
-
Jeremy Hylton authored
XXX I've got no idea what this is actually supposed to do. It may be that clearing the old cache isn't safe, but only if it never was. If a non-ghost object is in the cache, it seems that attempts to use it will go through the wrong cache.
-
Jeremy Hylton authored
Problem reported by Ulla Theiss and diagnosed by Shane Hathaway. The long and short of it is that persistent objects refer to their connection which refers to its cache which refers to the persistent objects. We can't let GC find the cycle because persistent objects are extension class objects, and, thus, don't participate in GC. Add an explicit clear() method that removes non-ghost objects from the ring without going to all the trouble of ghosting them. At some point, they'll just get deallocated (which will ghostify them). A cleared cache has non-ghost objects in the dict that are not in the ring, so we need to add some checks for whether the object is actually in the ring.
-
- 22 Apr, 2003 1 commit
-
-
Jeremy Hylton authored
-
- 08 Apr, 2003 1 commit
-
-
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.
-
- 04 Mar, 2003 1 commit
-
-
Jeremy Hylton authored
-
- 06 Feb, 2003 2 commits
-
-
Shane Hathaway authored
-
Shane Hathaway authored
-
- 21 Jan, 2003 1 commit
-
-
Barry Warsaw authored
-
- 17 Jan, 2003 1 commit
-
-
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.
-
- 15 Jan, 2003 1 commit
-
-
Jeremy Hylton authored
-
- 14 Jan, 2003 1 commit
-
-
Shane Hathaway authored
updated, which resulted in one whole cache being kept for no reason.
-
- 03 Dec, 2002 1 commit
-
-
Jeremy Hylton authored
There are few differences between the two files, except for necessary differences because of API changes. This change involves backporting the new UndoError style from ZODB4.
-
- 18 Nov, 2002 1 commit
-
-
Jeremy Hylton authored
XXX Not sure if berkeley still works.
-
- 23 Oct, 2002 1 commit
-
-
Jeremy Hylton authored
As the comment said: Not really necessary in production code... disable this before release, providing noone has been reporting and RuntimeErrors that it uses to report problems.
-
- 04 Oct, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 16 Sep, 2002 1 commit
-
-
Jeremy Hylton authored
Reformat all the code to use Python style. We got an undiagnosed bug report for coptimization, which lead to an attempt at code review. Break up a the large new_persistent_id() function into several helpers -- get_class(), get_class_tuple(), and set_oid(). Each function now does a little less. Don't reuse variable names for random purposes.
-
- 07 Sep, 2002 3 commits
-
-
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.
-
Jeremy Hylton authored
An earlier revision (1.68) fixed invalidation code when an object had no oid (oid == None). There is no longer anyway to get None in _invalidated, and it has been a long time since a None there meant "invalidate everything." At long last, then, remove all the code deal with the invalidate everything behavior.
-
Jeremy Hylton authored
-
- 14 Aug, 2002 1 commit
-
-
Martijn Pieters authored
-
- 14 Jun, 2002 2 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
changed() in cPersistence.c now calls the jar's register() method. Connection's register() method just calls get_transaction().register(). This redirection would allow specialized Connection's to change the default policy on how the transaction manager is selected without hacking the Transaction module. The cPersistence.c code is based on _PyPersist_RegisterDataManager() from the Zope3 code.
-
- 12 Jun, 2002 2 commits
-
-
Jeremy Hylton authored
Reindent MUCH_RING_CHECKING test.
-
Jeremy Hylton authored
Ignore invalidations on objects where _p_oid is None. In other places, assert the _p_oid is not None. Also, add whitespace in a bunch of places.
-
- 10 Jun, 2002 1 commit
-
-
Shane Hathaway authored
-
- 15 Apr, 2002 1 commit
-
-
Jeremy Hylton authored
constructor, since it is ignored and there is no current plan to support two caches with almost-but-not-quite-the-same arguments. This change has effects in many files. The Connection and DB don't pass this argument and don't bother setting it explicitly when it is reset via DB APIs like setCacheDeactivateAfter(). XXX These APIs remain, since existing code may depend on them, but they have no effect. New policy in cPersistence.c: A Persistent object can't have its _p_jar set or deleted once it is in a cache. Persistent already implemented this policy for _p_oid; it seems safer to do the same for the jar. Add ringlen() method to cache objects (implemented as cc_ringlen). This returns the length of the doubly linked list of non-ghost objects. Same as len(cache.lru_items()), but more efficient. Only used for testing at the moment. In ring_corrupt(), don't raise a new exception if one has already been set. The old behavior masked useful information about the original error / traceback.
-
- 13 Apr, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 27 Mar, 2002 1 commit
-
-
Toby Dickenson authored
-
- 11 Feb, 2002 1 commit
-
-
Guido van Rossum authored
-
- 17 Jan, 2002 1 commit
-
-
Jeremy Hylton authored
The Standby-branch was branched from the StandaloneZODB-1_0-branch, which includes the BTrees-fsIndex code. I didn't include that change in the merge, but everything else. Terse summary follows: BaseStorage.py: Add read-only storage feature. Add TransactionRecord and DataRecord marker classes for iteration. Reformat some lines. FileStorage.py: Add read-only storage feature. Greg Ward's ConflictError patch Reformat some lines. Add lastTransaction(), lastSerialno(). Add bounds support to iterator(). Use TransactionRecord and DataRecord. Connection.py: DemoStorage.py: MappingStorage.py: Greg Ward's ConflictError patch POSException.py: Greg Ward's ConflictError patch Add ReadOnlyError.
-
- 28 Nov, 2001 1 commit
-
-
matt@zope.com authored
-
- 06 Nov, 2001 1 commit
-
-
Jeremy Hylton authored
-
- 18 Sep, 2001 1 commit
-
-
Jeremy Hylton authored
-
- 04 Jun, 2001 1 commit
-
-
Andreas Jung authored
-
- 23 May, 2001 1 commit
-
-
Shane Hathaway authored
-
- 22 May, 2001 2 commits
-
-
Jeremy Hylton authored
Many methods had default arguments that were used to bind a global or builtin name, like type, None, or type(''), as a local name. In many cases, the names bound were not referenced in the method body (presumably they used to be referenced). commit_sub(): In this one case, delete the default arg anyway, because it's only used once.
-
Jeremy Hylton authored
There are two kinds of callbacks, commit actions and close actions. It is assumed that the use of these callbacks is infrequent. As a result, the implementation used tuples defined as class attributes to avoid creation of instance variables to hold callbacks in the common case. This implementation is complicated because tuples are immutable. Unfortunately, the instance variables were actually created anyway in tpc_abort() and tpc_vote(). This implementation changes the class attributes __onCloseCallbacks and __onCommitCallbacks to default to None. If a callback is registered with an instance, a list is bound to an instance attribute of the same name. When the transaction commits or aborts, the instance attribute is deleted. tpc_vote(): Remove the default arguments since they are unused in the body of the method.
-