# # # patch "database.cc" # from [d7f4a2b811c26b90da6815f13249a18b1b3f4b9f] # to [e75158e921f61bc568fbc2b65ca2767b70dccb03] # ============================================================ --- database.cc d7f4a2b811c26b90da6815f13249a18b1b3f4b9f +++ database.cc e75158e921f61bc568fbc2b65ca2767b70dccb03 @@ -1900,13 +1900,13 @@ database::get_revision(revision_id const dat = revision_data(rdat); } +typedef std::map height_map; +static height_map height_cache; + void database::get_rev_height(revision_id const & id, rev_height & height) { - typedef std::map height_map; - static height_map height_cache; - if (null_id(id)) { height = rev_height::root_height(); @@ -1942,6 +1942,8 @@ database::put_rev_height(revision_id con I(revision_exists(id)); I(height.valid()); + height_cache.erase(id); + execute(query("INSERT INTO heights VALUES(?, ?)") % text(id.inner()()) % blob(height()));