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

Function cbm_gbuf_free

src/graph_buffer/graph_buffer.c:472–547  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

470}
471
472void cbm_gbuf_free(cbm_gbuf_t *gb) {
473 if (!gb) {
474 return;
475 }
476
477 /* Free each individually-allocated node */
478 for (int i = 0; i < gb->nodes.count; i++) {
479 cbm_gbuf_node_t *n = gb->nodes.items[i];
480 free_node_strings(n);
481 free(n);
482 }
483 cbm_da_free(&gb->nodes);
484
485 /* Free each individually-allocated edge */
486 for (int i = 0; i < gb->edges.count; i++) {
487 cbm_gbuf_edge_t *e = gb->edges.items[i];
488 free_edge_strings(e);
489 free(e);
490 }
491 cbm_da_free(&gb->edges);
492
493 /* Free hash tables — may be NULL if already released by dump_to_sqlite */
494 if (gb->node_by_qn) {
495 cbm_ht_free(gb->node_by_qn);
496 }
497 free(gb->by_id);
498 if (gb->nodes_by_label) {
499 cbm_ht_foreach(gb->nodes_by_label, free_node_array, NULL);
500 cbm_ht_free(gb->nodes_by_label);
501 }
502 if (gb->nodes_by_name) {
503 cbm_ht_foreach(gb->nodes_by_name, free_node_array, NULL);
504 cbm_ht_free(gb->nodes_by_name);
505 }
506 if (gb->edge_by_key) {
507 cbm_ht_foreach(gb->edge_by_key, free_key_only, NULL);
508 cbm_ht_free(gb->edge_by_key);
509 }
510 if (gb->edges_by_source_type) {
511 cbm_ht_foreach(gb->edges_by_source_type, free_edge_array, NULL);
512 cbm_ht_free(gb->edges_by_source_type);
513 }
514 if (gb->edges_by_target_type) {
515 cbm_ht_foreach(gb->edges_by_target_type, free_edge_array, NULL);
516 cbm_ht_free(gb->edges_by_target_type);
517 }
518 if (gb->edges_by_type) {
519 cbm_ht_foreach(gb->edges_by_type, free_edge_array, NULL);
520 cbm_ht_free(gb->edges_by_type);
521 }
522
523 /* Free vector storage */
524 for (int i = 0; i < gb->dump_vector_count; i++) {
525 free((void *)gb->dump_vectors[i].vector);
526 }
527 free(gb->dump_vectors);
528
529 /* Free token vector storage */

Callers 13

cbm_parallel_extract_exFunction · 0.85
cbm_parallel_resolveFunction · 0.85
cbm_pipeline_runFunction · 0.85
test_simhash.cFile · 0.85
test_mem.cFile · 0.85
test_pipeline.cFile · 0.85
test_configlink.cFile · 0.85
parity_teardownFunction · 0.85
test_parallel.cFile · 0.85
test_vmem.cFile · 0.85

Calls 4

free_node_stringsFunction · 0.85
free_edge_stringsFunction · 0.85
cbm_ht_freeFunction · 0.85
cbm_ht_foreachFunction · 0.85

Tested by 1

parity_teardownFunction · 0.68