• Kirill Smelkov's avatar
    X No longer rely on ZODB cache invariant for invalidations · bf9a7405
    Kirill Smelkov authored
    Move all aspects of what is tracked into ΔFtail.
    It is more robust if ΔFtail does not rely on properties of outside
    zconn.Cache in order to work correctly.
    It also potentially allows to move ΔFtail out of zdata package.
    
    And it is even more memeory efficient, as before it was
    
    	Connection.cache[zoid] -> ZBlk(ghost)->inΔFtail
    
    and now it is
    
    	ΔFtail.trackSetZBlk[zoid] -> zblkTrack
    
    becuase Persistent embedded in ZBlk even in ghost state occupies alone
    occupies ~ 16 words.
    
    Now we keep only what is needed to be kept for tracking.
    bf9a7405
zblk.go 12.6 KB