MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / merge_remap_edges

Function merge_remap_edges

src/graph_buffer/graph_buffer.c:1297–1321  ·  view source on GitHub ↗

Remap edge IDs using the collision remap table and insert into dst. */

Source from the content-addressed store, hash-verified

1295
1296/* Remap edge IDs using the collision remap table and insert into dst. */
1297static void merge_remap_edges(cbm_gbuf_t *dst, cbm_gbuf_t *src, CBMHashTable *remap) {
1298 for (int i = 0; i < src->edges.count; i++) {
1299 cbm_gbuf_edge_t *se = src->edges.items[i];
1300
1301 int64_t new_src = se->source_id;
1302 int64_t new_tgt = se->target_id;
1303
1304 if (remap) {
1305 char key[CBM_SZ_32];
1306 make_id_key(key, sizeof(key), se->source_id);
1307 int64_t *remapped = cbm_ht_get(remap, key);
1308 if (remapped) {
1309 new_src = *remapped;
1310 }
1311
1312 make_id_key(key, sizeof(key), se->target_id);
1313 remapped = cbm_ht_get(remap, key);
1314 if (remapped) {
1315 new_tgt = *remapped;
1316 }
1317 }
1318
1319 cbm_gbuf_insert_edge(dst, new_src, new_tgt, se->type, se->properties_json);
1320 }
1321}
1322
1323int cbm_gbuf_merge(cbm_gbuf_t *dst, cbm_gbuf_t *src) {
1324 if (!dst || !src) {

Callers 1

cbm_gbuf_mergeFunction · 0.85

Calls 3

make_id_keyFunction · 0.85
cbm_ht_getFunction · 0.85
cbm_gbuf_insert_edgeFunction · 0.85

Tested by

no test coverage detected