Le jeudi 22 mars 2012 18:23:47, Claudiu Saftoiu a écrit :
> Ahh, now that looks promising. Are there any particularly good places to
> get documentation on that sort of thing? All I see when I google are
> mailing list archives.

See ZODB/ConflictResolution.txt . Disclaimer: I didn't read it. I read the 
code - but I expect the text file to be easier to assimilate :) .
BTrees/Length.py:Length class implements a simple _p_resolveConflict (yours 
will be even simpler).

> Also: is there any easier way to see which objects had a conflict when a
> ConflictError is raised? Currently I am doing a binary-search via
> commenting code, but I figure there must be a better way...

There should be some details in the exceptoin itself. Like, oids, currently 
commited TID and the TID transaction started with. root()._p_jar[the_oid] will 
get you the object. Then the hard part starts: guess where in the object tree 
that object is. If you have varied classes, and significant data on your 
persistent instances, it will be easy.

Vincent Pelletier
For more information about ZODB, see http://zodb.org/

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

Reply via email to