MCPcopy Create free account
hub / github.com/4paradigm/OpenMLDB / HandleClientSScan

Function HandleClientSScan

src/cmd/fedb.cc:4641–4756  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4639}
4640
4641void HandleClientSScan(const std::vector<std::string>& parts,
4642 ::fedb::client::TabletClient* client) {
4643 if (parts.size() < 7) {
4644 std::cout
4645 << "Bad scan format! eg.sscan tid pid key col_name start_time "
4646 "end_time [limit] | sscan table_name=xxx key=xxx index_name=xxx "
4647 "st=xxx et=xxx ts_name=xxx [limit=xxx]"
4648 << std::endl;
4649 return;
4650 }
4651 std::map<std::string, std::string> parameter_map;
4652 if (!GetParameterMap("tid", parts, "=", parameter_map)) {
4653 std::cout << "scan format erro! eg. sscan table_name=xxx key=xxx "
4654 "index_name=xxx st=xxx et=xxx ts_name=xxx [limit=xxx]"
4655 << std::endl;
4656 return;
4657 }
4658 bool is_pair_format = parameter_map.empty() ? false : true;
4659 uint32_t tid = 0;
4660 uint32_t pid = 0;
4661 std::string key;
4662 std::string index_name;
4663 uint64_t st = 0;
4664 uint64_t et = 0;
4665 std::string ts_name;
4666 uint32_t limit = 0;
4667 auto iter = parameter_map.begin();
4668 try {
4669 if (is_pair_format) {
4670 iter = parameter_map.find("tid");
4671 if (iter != parameter_map.end()) {
4672 tid = boost::lexical_cast<uint32_t>(iter->second);
4673 } else {
4674 std::cout << "sscan format error: tid does not exist!"
4675 << std::endl;
4676 return;
4677 }
4678 iter = parameter_map.find("pid");
4679 if (iter != parameter_map.end()) {
4680 pid = boost::lexical_cast<uint32_t>(iter->second);
4681 } else {
4682 std::cout << "sscan format error: pid does not exist!"
4683 << std::endl;
4684 return;
4685 }
4686 iter = parameter_map.find("key");
4687 if (iter != parameter_map.end()) {
4688 key = iter->second;
4689 } else {
4690 std::cout << "sscan format error: key does not exist!"
4691 << std::endl;
4692 return;
4693 }
4694 iter = parameter_map.find("index_name");
4695 if (iter != parameter_map.end()) {
4696 index_name = iter->second;
4697 }
4698 iter = parameter_map.find("st");

Callers 1

StartClientFunction · 0.85

Calls 6

GetParameterMapFunction · 0.85
ShowTableRowsFunction · 0.85
sizeMethod · 0.45
emptyMethod · 0.45
ScanMethod · 0.45
GetTableSchemaMethod · 0.45

Tested by

no test coverage detected