[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
 ------