int main()

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());
      }
    }
  }
}