Cliff Quinn wrote at 2002-12-27 15:34 -0800:
I can't pack my database because at some point, with the machine time set at 2008 (don't ask) it was packed. How can I force this, or change the database date. I tried using the fsrecover, which tells me the dates are out of sequence, but doesn't do anything about it. I found a similar problem in the list archives, but no answer to it.
Error Type: FileStorageError Error Value: The database has already been packed to a later time or no changes have been made since the last pack
(Zope 2.6.0 (binary release, python 2.1, win32-x86), python 2.1.3, win32) running on WIN98 (please don't laugh). Your problem is probably bigger than you expect:
You probably also have transactions in the future. When you can, I would see whether the latest backup can be used written when the time was still normal. When this is not possible, I would use "tranalyzer" (maybe slightly differently spelled) to analyse the "Data.fs" and see how much staff comes with an wicked date and how much I would lose when I would cut the file to a safe limit. After that, I would search (using Zope's "Find" with a copy of the old "Data.fs") for the objects changed in the future and more the changes back (when they were not too many). If all were unfeasible, I would look at the source of "ZODB.fsrecover". It copies a "Data.fs" and repairs corrupt pieces. Certainly, it could be modified to salvage strange transaction times. Dieter