MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / deleteSpecificResolvedReferences

Method deleteSpecificResolvedReferences

src/db/queries.ts:2232–2248  ·  view source on GitHub ↗

* Delete specific resolved references by (fromNodeId, referenceName, referenceKind) tuples. * More precise than deleteResolvedReferences — only removes refs that were actually resolved.

(refs: Array<{ fromNodeId: string; referenceName: string; referenceKind: string }>)

Source from the content-addressed store, hash-verified

2230 * More precise than deleteResolvedReferences — only removes refs that were actually resolved.
2231 */
2232 deleteSpecificResolvedReferences(refs: Array<{ fromNodeId: string; referenceName: string; referenceKind: string }>): number {
2233 if (refs.length === 0) return 0;
2234 const stmt = this.db.prepare(
2235 'DELETE FROM unresolved_refs WHERE from_node_id = ? AND reference_name = ? AND reference_kind = ?'
2236 );
2237 // Returns rows actually removed (SQLite `changes`, summed): the batched
2238 // resolution loop's non-progress guard keys on this — zero removals from
2239 // a batch that claimed work is the direct runaway signal (§7a.2).
2240 let changed = 0;
2241 const deleteMany = this.db.transaction((items: typeof refs) => {
2242 for (const ref of items) {
2243 changed += stmt.run(ref.fromNodeId, ref.referenceName, ref.referenceKind).changes;
2244 }
2245 });
2246 deleteMany(refs);
2247 return changed;
2248 }
2249
2250 /**
2251 * Delete unresolved-ref rows by row id — the precise cleanup for refs a

Callers 3

resolveAndPersistMethod · 0.80

Calls 3

prepareMethod · 0.65
transactionMethod · 0.65
runMethod · 0.65

Tested by

no test coverage detected