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.
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
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org