Zero memory for each element

This commit is contained in:
Andrew Kane
2024-01-28 23:00:39 -08:00
parent ded649891b
commit a7d43904f7
2 changed files with 6 additions and 0 deletions

View File

@@ -267,6 +267,9 @@ WriteNeighborTuples(HnswBuildState * buildstate)
/* Update iterator */
iter = e->next;
/* Zero memory for each element */
MemSet(ntup, 0, HNSW_TUPLE_ALLOC_SIZE);
/* Can take a while, so ensure we can interrupt */
/* Needs to be called when no buffer locks are held */
CHECK_FOR_INTERRUPTS();

View File

@@ -208,6 +208,9 @@ RepairGraphElement(HnswVacuumState * vacuumstate, HnswElement element, HnswEleme
/* Find neighbors for element, skipping itself */
HnswFindElementNeighbors(base, element, entryPoint, index, procinfo, collation, m, efConstruction, true);
/* Zero memory for each element */
MemSet(ntup, 0, HNSW_TUPLE_ALLOC_SIZE);
/* Update neighbor tuple */
/* Do this before getting page to minimize locking */
HnswSetNeighborTuple(base, ntup, element, m);