[ZODB-Dev] database conflict fail
    Vincent Pelletier 
    plr.vincent at gmail.com
       
    Thu Mar 22 18:45:17 UTC 2012
    
    
  
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.
Ragards,
-- 
Vincent Pelletier
    
    
More information about the ZODB-Dev
mailing list