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:16795–16812  ·  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

16793 * that reader before opening a dedicated writer because atomic publication uses
16794 * a self-contained DELETE-mode database that switches back to WAL on write. */
16795static cbm_store_t *open_adr_store_for_write(cbm_mcp_server_t *srv, cbm_store_t *resolved,
16796 cbm_store_t **owned_rw) {
16797 if (!srv || !resolved || !owned_rw) {
16798 return NULL;
16799 }
16800 const char *resolved_db_path = cbm_store_db_path(resolved);
16801 if (!resolved_db_path) {
16802 return resolved;
16803 }
16804 char *rw_path = heap_strdup(resolved_db_path);
16805 if (!rw_path) {
16806 return NULL;
16807 }
16808 invalidate_cached_store(srv);
16809 *owned_rw = cbm_store_open_path(rw_path);
16810 free(rw_path);
16811 return *owned_rw;
16812}
16813
16814/* Parsed `section_updates` for mode='set_sections'.
16815 *

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