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

Function cbm_gbuf_free

src/graph_buffer/graph_buffer.c:476–551  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 15

closure_probe_surfacesFunction · 0.85
run_closure_deltaFunction · 0.85
cbm_parallel_extract_exFunction · 0.85
cbm_parallel_resolveFunction · 0.85
cbm_pipeline_run_stagedFunction · 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

Calls 4

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