//############################################################################## //############################################################################## BerkeleyDBCXXDb::history_list_t BerkeleyDBCXXDb::get_change_history() const { RANGE_LOG_FUNCTION(); ChangeList changes = this->read_changelist(); history_list_t history_list; for (int v = 0; v < changes.change_size(); ++v) { ChangeList_Change v_change = changes.change(v); changelist_t clist; for (int i = 0; i < v_change.items_size(); ++i) { ChangeList_Change_Item item = v_change.items(i); record_type type = get_type_from_keyname(item.key()); std::string key = item.key().substr(key_prefix(type).size()); clist.push_back(std::make_tuple(type, key, item.version(), "")); } history_list.push_back(clist); } return history_list; }
std::string Channel::tile_key(TileIndex ti) const { return string_printf("%s.%d.%lld", key_prefix().c_str(), ti.level, ti.offset); }
std::string Channel::metainfo_key() const { return key_prefix() + ".info"; }
//############################################################################## //############################################################################## std::string BerkeleyDBCXXDb::unprefix(const std::string &fullkey) { record_type type = get_type_from_keyname(fullkey); return fullkey.substr(key_prefix(type).length(), std::string::npos); }
//############################################################################## //############################################################################## std::string BerkeleyDBCXXDb::key_name(record_type type, const std::string &name) { return key_prefix(type) + name; }