While looking at the Plone versioning code the other day, it struck me
that it would be much more efficient to implement file versioning if
we could rely on blobs never changing after their first commit, as a
copy of the file data would not need to be made proactively in the
versioning repository incase the blob was changed in a future

Subclassing of blobs is not supported, but looking at the code I
didn't see anything that actively prevented this other than the
Blob.__init__ itself. Is there something I've missed here? I had
thought that an ImmutableBlob could be implemented by overriding the
open and consumeFile methods of Blob to prevent modification after
first commit.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to