[ZODB-Dev] Any recommendation for non-undoable storage?

Tim Peters tim at zope.com
Wed Jun 9 01:50:58 EDT 2004


[Chris McDonough]
> There is no supported general-purpose nonundoing storage shipping with
> ZODB or produced by a third party anymore.  Well, that's not entirely
> true; there's TemporaryStorage and MappingStorage, which is are both
> nonundo storages, but both save pickles to RAM instead of to disk, which
> usually isn't very helpful.

I probably shouldn't mention this, but I will <heh>:  the other day I
noticed the file dbmStorage.py in ZODB.  This has classes anydbmStorage and
gdbmStorage, inheriting from MappingStorage, claiming to be version-less
undo-less storages (like MappingStorage) but storing to a dbm file (unlike
MappingStorage).

I shouldn't mention it because they appear undocumented and untested, so
probably don't work anymore (assuming they ever did ... the file was checked
in about 5 years ago, and nothing has changed since then except for a dozen
license, copyright, and whitespace cleanups).

Maybe someone would like to adopt that, and make it a usable "simple"
option?  Otherwise I should get rid of it.

OTOH, MappingStorage (and these derivatives) still require packing to clean
out the trash.  ZhiMin presumably liked BDBMinimalStorage most because its
refcount strategy cleans up non-cyclic trash without explicit packing.
TemporaryStorage can do that too (I think).  Perhaps techniques akin to
those in dbmStorage.py could be applied to a TemporaryStorage subclass to
give it a quick-to-code file-based variant too.  Or not.




More information about the ZODB-Dev mailing list