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

Method deleteSpecificResolvedReferences

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

3544 * More precise than deleteResolvedReferences — only removes refs that were actually resolved.
3545 */
3546 deleteSpecificResolvedReferences(refs: Array<{ fromNodeId: string; referenceName: string; referenceKind: string }>): number {
3547 if (refs.length === 0) return 0;
3548 const stmt = this.db.prepare(
3549 'DELETE FROM unresolved_refs WHERE from_node_id = ? AND reference_name = ? AND reference_kind = ?'
3550 );
3551 // Returns rows actually removed (SQLite `changes`, summed): the batched
3552 // resolution loop's non-progress guard keys on this — zero removals from
3553 // a batch that claimed work is the direct runaway signal (§7a.2).
3554 let changed = 0;
3555 const deleteMany = this.db.transaction((items: typeof refs) => {
3556 for (const ref of items) {
3557 changed += stmt.run(ref.fromNodeId, ref.referenceName, ref.referenceKind).changes;
3558 }
3559 });
3560 deleteMany(refs);
3561 return changed;
3562 }
3563
3564 /**
3565 * 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