| 1284 | base64_decode_obj((json_obj)[#var].GetString(), this->var##_); |
| 1285 | |
| 1286 | void |
| 1287 | HGraph::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 | |
| 1323 | void |
| 1324 | HGraph::serialize_label_info(StreamWriter& writer) const { |
no test coverage detected