[Zodb-checkins] CVS: ZODB3 - NEWS.txt:1.10.2.1
Jeremy Hylton
jeremy@zope.com
Thu, 12 Sep 2002 14:43:22 -0400
Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv20169
Modified Files:
Tag: ZODB3-3_1-branch
NEWS.txt
Log Message:
Remove the list of stuff to flesh out (it's fleshed out).
Flesh out details on storage changes.
=== ZODB3/NEWS.txt 1.10 => 1.10.2.1 ===
--- ZODB3/NEWS.txt:1.10 Wed Sep 11 19:21:36 2002
+++ ZODB3/NEWS.txt Thu Sep 12 14:43:20 2002
@@ -5,14 +5,6 @@
still the same old ZODB. There have been a lot of changes since the
last release.
-List of stuff to flesh out:
-
- - new ZODB cache
- - many BTrees bug fixes
- - improved Berkeley storages
- - includes ZEO 2 (and ZEO 1 for backwards compat)
- - many bug fixes
-
New ZODB cache
--------------
@@ -29,15 +21,13 @@
perform as well with a small cache size, because the cache no longer
exceeds the limit.
-XXX perhaps Toby can say more
-
Storages
--------
The index used by FileStorage was reimplemented using a custom BTrees
object. The index maps oids to file offsets, and is kept in memory at
all times. The new index uses about 1/4 the memory of the old,
-dictionary-based index. See ZODB.fsIndex for details.
+dictionary-based index. See the module ZODB.fsIndex for details.
A security flaw was corrected in transactionalUndo(). The transaction
ids returned by undoLog() and used for transactionalUndo() contained a
@@ -54,8 +44,29 @@
a ReadOnlyError will be raised.
The storage API was extended with new methods that support the Zope
-Replication Service (ZRS -- a proprietary Zope Corp product).
-XXX restore()
+Replication Service (ZRS), a proprietary Zope Corp product. We expect
+these methods to be generally useful. The methods are:
+
+ - restore(oid, serialno, data, version, transaction)
+
+ Perform a store without doing consistency checks. A client can
+ use this method to provide a new current revision of an object.
+ The ``serialno`` argument is the new serialno to use for the
+ object, not the serialno of the previous revision.
+
+ - lastTransaction()
+
+ Returns the transaction id of the last committed transaction.
+
+ - lastSerial(oid)
+
+ Return the current serialno for ``oid`` or None.
+
+ - iterator(start=None, stop=None)
+
+ The iterator method isn't new, but the optional ``start`` and
+ ``stop`` arguments are. These arguments can be used to specify
+ the range of the iterator -- an inclusive range [start, stop].
FileStorage is now more cautious about creating a new file when it
believes a file does not exist. This change is a workaround for bug
@@ -65,12 +76,17 @@
try to open the file first, and decide whether to create a new file
based on errno.
-XXX abort/commit version
-
The undoLog() and undoInfo() methods of FileStorage can run
concurrently with other methods. The internal storage lock is
released periodically to give other threads a chance to run. This
should increase responsiveness of ZEO clients when used with ZEO 2.
+
+New serial numbers are assigned consistently for abortVersion() and
+commitVersion(). When a version is committed, the non-version data
+gets a new serial number. When a version is aborted, the serial
+number for non-version data does not change. This means that the
+abortVersion() transaction record has the unique property that its
+transaction id is not the serial number of the data records.
BTrees
------