Le mardi 27 septembre 2011 10:23:01, 刘一新 a écrit : > But If I want to only remove some object in test.fs, I must do following: > 1. zeopack the database > 2. rm -f test.fs.old > Am I right?
You are right. > BTW, what does the zeopack exactly do? And when should I use it? I try to > find some instructions on it but without success. First, you need to know that FileStorage (what manages data.fs files) is an append-only mechanism, where every new transaction (object creation, modification...) is appended, and usually you see the result of all accumulated transactions. Deletion is merely the modification of a container object so that it stops referencing part of its content. As such, it will be appended too. Packing is the way to free file-system space after deleting objects. It has 2 phases/purposes: - revision pruning: non-current (...at the time given for packing) object revisions are deleted - garbage collection: unreachable objects are deleted As you noticed, with FileStorage this actually happens by copying every kept objects and transactions to a new data.fs, and swapping it with original data.fs - which gets renamed as *.old. Regards, -- Vincent Pelletier ERP5 - open source ERP/CRM for flexible enterprises _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev