On 03/29/2011 09:16 PM, Erik Dahl wrote:
> Ok looked a little deeper.  I think solution 2 is the way to go (ie clear the 
> object_ref table from references that are in my range of non-packed 
> transactions.  Does that sound right?  Statement would be:
> delete from object_ref where tid>  255908476364112230;
> I think once this is done the code will refill the table and go on its way. 
> Thoughts?

I haven't read the whole thread, but I will say this: it is quite safe 
to remove rows from object_ref as long as you *also* remove the 
corresponding rows from object_refs_added.  To be 100% safe, you could 
just clear both object_refs_added and object_ref before packing.

IOW, the object_ref table serves as a cache between pack operations and 
the object_refs_added table indicates how much of the object_ref cache 
is filled.

For more information about ZODB, see the ZODB Wiki:

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

Reply via email to