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

Function open_adr_store_for_write

src/mcp/mcp.c:10729–10746  ·  view source on GitHub ↗

resolve_store opens file-backed projects query-only. A mutation must release * that reader before opening a dedicated writer because atomic publication uses * a self-contained DELETE-mode database that switches back to WAL on write. */

Source from the content-addressed store, hash-verified

10727 * that reader before opening a dedicated writer because atomic publication uses
10728 * a self-contained DELETE-mode database that switches back to WAL on write. */
10729static cbm_store_t *open_adr_store_for_write(cbm_mcp_server_t *srv, cbm_store_t *resolved,
10730 cbm_store_t **owned_rw) {
10731 if (!srv || !resolved || !owned_rw) {
10732 return NULL;
10733 }
10734 const char *resolved_db_path = cbm_store_db_path(resolved);
10735 if (!resolved_db_path) {
10736 return resolved;
10737 }
10738 char *rw_path = heap_strdup(resolved_db_path);
10739 if (!rw_path) {
10740 return NULL;
10741 }
10742 invalidate_cached_store(srv);
10743 *owned_rw = cbm_store_open_path(rw_path);
10744 free(rw_path);
10745 return *owned_rw;
10746}
10747
10748static char *handle_manage_adr(cbm_mcp_server_t *srv, const char *args) {
10749 char *project = get_project_arg(args);

Callers 1

handle_manage_adrFunction · 0.85

Calls 4

cbm_store_db_pathFunction · 0.85
invalidate_cached_storeFunction · 0.85
cbm_store_open_pathFunction · 0.85
heap_strdupFunction · 0.70

Tested by

no test coverage detected