[ZODB-Dev] Immutable blobs?

Jim Fulton jim at zope.com
Mon May 9 09:15:29 EDT 2011


On Mon, May 9, 2011 at 8:26 AM, Laurence Rowe <l at lrowe.co.uk> wrote:
> 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
> transaction.
>
> 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?


Nope. Subclassing blobs is *explicitly* not supported.

> I had
> thought that an ImmutableBlob could be implemented by overriding the
> open and consumeFile methods of Blob to prevent modification after
> first commit.

If you want to implement a restriction like this, do it in a wrapper class.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton


More information about the ZODB-Dev mailing list