Jeremy Hylton : weblog : 2003-10-29

ZODB 3.3 and Persistent Code

Wednesday, October 29, 2003, 2:58 p.m.

We had a meeting today to review the state of persistent code (modules, functions, and classes) in ZODB. Fred Drake is planning to port that code to ZODB3 for the 3.3 release.

(Yay! Fred has a weblog.)

I don't know when the release will be ready, but I'm optimistic that we'll at least get to beta this year.

The implementation for persistent code is fairly delicate. The basic idea is to load a module's source code and convert all the classes and functions into persistent objects. When you edit the code, the persistent module is modified in place to reflect the changes. The great thing about this feature is that changes to code can use the same transaction framework as changes to data. We treat code like data.

The 3.3 release sounds like it will be a big step forward. It will support new-style classes, like ZODB4, but will be backwards compatible with existing Zope and ZODB applications. It will also support multi-version concurrency control.