m4_comment([$Id: verify.so,v 10.10 2003/10/18 19:15:54 bostic Exp $]) m4_ref_title(Access Methods, Database verification and salvage, [database @verification, database @salvage, salvaging @corrupted databases], am/upgrade, am/sync) m4_p([dnl The m4_refT(dbh_verify) verifies that a file, and any databases it may contain, are uncorrupted. In addition, the method may optionally be called with a file stream argument to which all key/data pairs found in the database are output. There are two modes for finding key/data pairs to be output:]) m4_nlistbegin m4_nlist([dnl If the m4_ref(DB_SALVAGE) flag is specified, the key/data pairs in the database are output. When run in this mode, the database is assumed to be largely uncorrupted. For example, the m4_ref(dbh_verify) method will search for pages that are no longer linked into the database, and will output key/data pairs from such pages. However, key/data items that have been marked as deleted in the database will not be output, as the page structures are generally trusted in this mode.]) m4_nlist([dnl If both the m4_ref(DB_SALVAGE) and m4_ref(DB_AGGRESSIVE) flags are specified, all possible key/data pairs are output. When run in this mode, the database is assumed to be seriously corrupted. For example, key/data pairs that have been deleted will re-appear in the output. In addition, because pages may have been subsequently reused and modified during normal database operations after the key/data pairs were deleted, it is not uncommon for apparently corrupted key/data pairs to be output in this mode, even when there is no corruption in the underlying database. The output will almost always have to be edited by hand or other means before the data is ready for reload into another database. We recommend that m4_ref(DB_SALVAGE) be tried first, and m4_ref(DB_AGGRESSIVE) only tried if the output from that first attempt is obviously missing data items or the data is sufficiently valuable that human review of the output is preferable to any kind of data loss.]) m4_nlistend m4_page_footer