Commit 67669d70 authored by Jim Fulton's avatar Jim Fulton

Updated for 3.8.

parent 9a78392b
ZODB 3.7 ZODB 3.8
======== ========
Introduction Introduction
------------ ------------
The ZODB package provides a set of tools for using the Zope Object The ZODB package provides a set of tools for using the Zope Object
Database (ZODB) in Python programs separately from Zope. The tools Database (ZODB). The components you get with the ZODB release are as
you get are identical to the ones provided in Zope, because they come follows:
from the same source repository. They have been packaged for use in
non-Zope stand-alone Python applications.
The components you get with the ZODB release are as follows:
- Core ZODB, including the persistence machinery - Core ZODB, including the persistence machinery
- Standard storages such as FileStorage - Standard storages such as FileStorage
- The persistent BTrees modules - The persistent BTrees modules
- ZEO - ZEO
- documentation - documentation (poor)
Our primary development platforms are Linux and Windows 2000. The Our primary development platforms are Linux, Mac OS X, and Windows
test suite should pass without error on all of these platforms, XP. The test suite should pass without error on all of these
although it can take a long time on Windows -- longer if you use platforms, although it can take a long time on Windows -- longer if
ZoneAlarm. Many particularly slow tests are skipped unless you pass you use ZoneAlarm. Many particularly slow tests are skipped unless
--all as an argument to test.py. you pass --all as an argument to test.py.
Compatibility Compatibility
------------- -------------
ZODB 3.7 requires Python 2.4.2 or later. The BTree code may be ZODB 3.8 requires Python 2.4.2 or later.
compiled with support for 64-bit keys and values for the "I" flavors;
older versions of the BTrees package will not be able to load
persistent BTrees that use 64-bit data (an exception will be raised on
load).
The Zope 2.10 release, and Zope 3.3 releases, should be compatible with this
version of ZODB. Note that Zope 2.7 and higher includes ZEO, so this package
should only be needed to run a ZEO server.
ZEO servers and clients are wholly compatible among 3.3, 3.4, 3.5, 3.6 and ZEO servers and clients are wholly compatible among 3.3, 3.4, 3.5, 3.6 and
3.7; a ZEO client from any of those versions can talk with a ZEO server from 3.7; a ZEO client from any of those versions can talk with a ZEO server from
any. any. ZODB 3.8 ZEO clients require ZODB 3.8 servers and later. ZODB
3.8 ZEO Servers will work with ZODB 3.2 clients and later.
Trying to mix ZEO clients and servers from 3.3 or later from ZODB releases
before 3.3 is much harder. ZODB 3.3 introduced multiversion concurrency
control (MVCC), and earlier ZEO servers do not support MVCC: a 3.3+ ZEO
client cannot talk with an older ZEO server as a result.
In the other direction, a 3.3+ ZEO server can talk with older ZEO clients,
but because the names of some basic classes have changed, if any 3.3+ clients
commit modifications to the database it's likely that the database will
contain instances of classes that don't exist in (can't be loaded by) older
ZEO clients. For example, the database root object was an instance of
``ZODB.PersistentMapping.PersistentMapping`` before ZODB 3.3, but is an
instance of ``persistent.mapping.PersistentMapping`` in ZODB 3.3. A 3.3.1+
client can still load a ``ZODB.PersistentMapping.PersistentMapping`` object,
but this is just an alias for ``persistent.mapping.PersistentMapping``, and
an object of the latter type will be stored if a 3.3 client commits a change
to the root object. An older ZEO client cannot load the root object so
changed.
This limits migration possibilities: a 3.3+ ZEO server can be used with
older (pre-3.3) ZEO clients and serve an older database, so long as no 3.3+
ZEO clients commit changes to the database. The most practical upgrade path
is to bring up both servers and clients using 3.3+, not trying to mix pre-3.3
and post-3.3 ZEO clients and servers.
Prerequisites Prerequisites
------------- -------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment