MCPcopy Create free account
hub / github.com/antgroup/vsag / deserialize_basic_info

Method deserialize_basic_info

src/algorithm/hgraph.cpp:1286–1321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1284 base64_decode_obj((json_obj)[#var].GetString(), this->var##_);
1285
1286void
1287HGraph::deserialize_basic_info(const JsonType& jsonify_basic_info) {
1288 logger::debug("jsonify_basic_info: {}", jsonify_basic_info.Dump());
1289 FROM_JSON(jsonify_basic_info, use_reorder, Bool);
1290 FROM_JSON(jsonify_basic_info, dim, Int);
1291 if (jsonify_basic_info.Contains("metric")) {
1292 this->metric_ = static_cast<MetricType>(jsonify_basic_info["metric"].GetInt());
1293 }
1294 FROM_JSON(jsonify_basic_info, entry_point_id, Int);
1295 FROM_JSON(jsonify_basic_info, ef_construct, Int);
1296 FROM_JSON(jsonify_basic_info, extra_info_size, Int);
1297 if (jsonify_basic_info.Contains("data_type")) {
1298 this->data_type_ = static_cast<DataTypes>(jsonify_basic_info["data_type"].GetInt());
1299 }
1300 FROM_JSON_BASE64(jsonify_basic_info, mult);
1301 // logger::debug("mult: {}", this->mult_);
1302 this->max_capacity_.store(jsonify_basic_info["max_capacity"].GetInt());
1303
1304 auto max_level = jsonify_basic_info["max_level"].GetInt();
1305 for (int64_t i = 0; i < max_level; ++i) {
1306 this->route_graphs_.emplace_back(this->generate_one_route_graph());
1307 }
1308 if (jsonify_basic_info.Contains(INDEX_PARAM)) {
1309 std::string index_param_string = jsonify_basic_info[INDEX_PARAM].GetString();
1310 HGraphParameterPtr index_param = std::make_shared<HGraphParameter>();
1311 index_param->data_type = this->data_type_;
1312 index_param->FromString(index_param_string);
1313 if (not this->create_param_ptr_->CheckCompatibility(index_param)) {
1314 auto message = fmt::format("HGraph index parameter not match, current: {}, new: {}",
1315 this->create_param_ptr_->ToString(),
1316 index_param->ToString());
1317 logger::error(message);
1318 throw VsagException(ErrorType::INVALID_ARGUMENT, message);
1319 }
1320 }
1321}
1322
1323void
1324HGraph::serialize_label_info(StreamWriter& writer) const {

Callers 1

DeserializeMethod · 0.95

Calls 12

VsagExceptionClass · 0.85
GetIntMethod · 0.80
storeMethod · 0.80
GetStringMethod · 0.80
FromStringMethod · 0.80
debugFunction · 0.50
errorFunction · 0.50
DumpMethod · 0.45
ContainsMethod · 0.45
CheckCompatibilityMethod · 0.45
ToStringMethod · 0.45

Tested by

no test coverage detected