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

Method deleteSpecificResolvedReferences

src/db/queries.ts:2489–2505  ·  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

2487 * More precise than deleteResolvedReferences — only removes refs that were actually resolved.
2488 */
2489 deleteSpecificResolvedReferences(refs: Array<{ fromNodeId: string; referenceName: string; referenceKind: string }>): number {
2490 if (refs.length === 0) return 0;
2491 const stmt = this.db.prepare(
2492 'DELETE FROM unresolved_refs WHERE from_node_id = ? AND reference_name = ? AND reference_kind = ?'
2493 );
2494 // Returns rows actually removed (SQLite `changes`, summed): the batched
2495 // resolution loop's non-progress guard keys on this — zero removals from
2496 // a batch that claimed work is the direct runaway signal (§7a.2).
2497 let changed = 0;
2498 const deleteMany = this.db.transaction((items: typeof refs) => {
2499 for (const ref of items) {
2500 changed += stmt.run(ref.fromNodeId, ref.referenceName, ref.referenceKind).changes;
2501 }
2502 });
2503 deleteMany(refs);
2504 return changed;
2505 }
2506
2507 /**
2508 * 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