|
|
>If Jim is not right (and "DemoStorage" does not support "undo"),
>then it would not be difficult to derive a "RamFileStorage" from
>"FileStorage" that exactly works like "FileStorage" but have its
>file implemented as a "StringIO" (rather than a file on the file system).
Thanks for the clever suggestion! I have implemented a StringIOStorage
with apparent success.
On another note, a problem appeared however when changing
the objects that were persisted and I assumed it to be the fault of
my StringIOStorage but when I tried reverting abd using a FileStorage
the same error occurred.
File "C:\Documents and Settings\user\Desktop\smarttree-2.5\database.py", line
25, in commit
transaction.commit()
File "C:\python25\Lib\site-packages\transaction\_manager.py", line 99, in
commit
return self.get().commit(sub, deprecation_wng=False)
File "C:\Python25\Lib\site-packages\transaction\_transaction.py", line 407,
in commit
self._commitResources()
File "C:\Python25\Lib\site-packages\transaction\_transaction.py", line 506,
in _commitResources
rm.commit(self)
File "C:\Python25\Lib\site-packages\transaction\_transaction.py", line 642,
in commit
self.manager.commit(o, txn)
File "C:\Python25\Lib\site-packages\ZODB\DB.py", line 747, in commit
tid, oids = self._db._storage.undo(self._tid, t)
File "C:\python25\Lib\site-packages\ZODB\FileStorage\FileStorage.py", line
1117, in undo
return self._txn_undo(transaction_id)
File "C:\python25\Lib\site-packages\ZODB\FileStorage\FileStorage.py", line
1126, in _txn_undo
tindex = self._txn_undo_write(tpos)
File "C:\python25\Lib\site-packages\ZODB\FileStorage\FileStorage.py", line
1205, in _txn_undo_write
raise MultipleUndoErrors(failures.items())
MultipleUndoErrors: Undo error 0x15e1: Undo error 0x15e1: _loadBack() failed
The actual line in FileStorage.py in _txn_undo_write that is raising the
exception is:
p, prev, v, snv, ipos = self._transactionalUndoRecord(h.oid, pos,
h.tid, h.prev, h.version)
Since there is an error for this and the errors are put into a
dictionary and such, I assume this is not all that rare to
occur. Is there a common reason this happens that anyone might
be able to clue me in on?
Thanks,
Mike
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - ZODB-Dev@xxxxxxxx
http://mail.zope.org/mailman/listinfo/zodb-dev
|
|