Propagate diskann_node_write error in delete repair path

diskann_repair_reverse_edges() ignored the return code from
diskann_node_write() when writing repaired neighbor lists after
a node deletion. A failed write would leave the graph inconsistent
with no error reported to the caller.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alex Garcia 2026-03-31 17:54:38 -07:00
parent c4c23bd8ba
commit c36a995f1e

View file

@ -1621,13 +1621,14 @@ static int diskann_repair_reverse_edges(
break; break;
} }
diskann_node_write(p, vec_col_idx, nodeRowid, rc = diskann_node_write(p, vec_col_idx, nodeRowid,
validity, vs, neighborIds, nis, qvecs, qs); validity, vs, neighborIds, nis, qvecs, qs);
} }
sqlite3_free(validity); sqlite3_free(validity);
sqlite3_free(neighborIds); sqlite3_free(neighborIds);
sqlite3_free(qvecs); sqlite3_free(qvecs);
if (rc != SQLITE_OK) return rc;
} }
return SQLITE_OK; return SQLITE_OK;