# # # patch "ChangeLog" # from [fd95c4f2c9d165cda966cfe2f76955425bccbbce] # to [199f35801639c17fb63353cfd54d9db87dd08896] # # patch "database.cc" # from [06897263dccafc0cc2cfd8f521c14865ecf4ac61] # to [3e69844c7a85e404d5c7c5e4dade2fe417f025bd] # # patch "database.hh" # from [ad0aa7e49ff8c91790d1134a7b91664123a58085] # to [324c4765be5077efa0838a3f03d000853ee45c69] # ============================================================ --- ChangeLog fd95c4f2c9d165cda966cfe2f76955425bccbbce +++ ChangeLog 199f35801639c17fb63353cfd54d9db87dd08896 @@ -1,3 +1,8 @@ +2006-03-22 Matthew Gregan + + * database.{cc,hh}: Report page size and default cache size in 'db + info' output. + 2006-03-20 Matthew Gregan * configure.ac: Fix Windows identification test so that it doesn't ============================================================ --- database.cc 06897263dccafc0cc2cfd8f521c14865ecf4ac61 +++ database.cc 3e69844c7a85e404d5c7c5e4dade2fe417f025bd @@ -532,6 +532,9 @@ " cached ancestry : %u\n" " certs : %u\n" " total : %u\n" + "database:\n" + " page size : %u\n" + " cache size : %u\n" ) % id // counts @@ -551,7 +554,9 @@ % SPACE_USAGE("revision_ancestry", "length(parent) + length(child)") % SPACE_USAGE("revision_certs", "length(hash) + length(id) + length(name)" " + length(value) + length(keypair) + length(signature)") - % total; + % total + % page_size() + % cache_size(); #undef SPACE_USAGE } @@ -820,6 +825,27 @@ return lexical_cast(res[0][0]); } +unsigned int +database::page_size() +{ + results res; + query q("PRAGMA page_size"); + fetch(res, one_col, one_row, q); + return lexical_cast(res[0][0]); +} + +unsigned int +database::cache_size() +{ + // This returns the persistent (default) cache size. It's possible to + // override this setting transiently at runtime by setting PRAGMA + // cache_size. + results res; + query q("PRAGMA default_cache_size"); + fetch(res, one_col, one_row, q); + return lexical_cast(res[0][0]); +} + void database::get_ids(string const & table, set< hexenc > & ids) { ============================================================ --- database.hh ad0aa7e49ff8c91790d1134a7b91664123a58085 +++ database.hh 324c4765be5077efa0838a3f03d000853ee45c69 @@ -114,6 +114,8 @@ unsigned long count(std::string const & table); unsigned long space_usage(std::string const & table, std::string const & concatenated_columns); + unsigned int page_size(); + unsigned int cache_size(); void get_ids(std::string const & table, std::set< hexenc > & ids);