in service/tools/kv/api_tools/kv_client_txn_tools.cpp [33:67]
int main(int argc, char** argv) {
if (argc < 2) {
printf("<config path> <min_seq> <max_seq>\n");
return 0;
}
std::string config_file = argv[1];
uint64_t min_seq = 1;
uint64_t max_seq = 1;
if (argc >= 3) {
min_seq = atoi(argv[2]);
}
if (argc >= 4) {
max_seq = atoi(argv[3]);
}
ResDBConfig config = GenerateResDBConfig(config_file);
ResDBTxnAccessor client(config);
auto resp = client.GetTxn(min_seq, max_seq);
if (!resp.ok()) {
LOG(ERROR) << "get replica state fail";
exit(1);
}
for (auto& txn : *resp) {
BatchUserRequest request;
KVRequest kv_request;
if (request.ParseFromString(txn.second)) {
for (auto& sub_req : request.user_requests()) {
kv_request.ParseFromString(sub_req.request().data());
printf("data {\nseq: %lu\n%s}\n", txn.first,
kv_request.DebugString().c_str());
}
}
}
}