From a7d43904f77eb95a6c3adf28fe8c5cdf62cc0bb9 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 28 Jan 2024 23:00:39 -0800 Subject: [PATCH] Zero memory for each element --- src/hnswbuild.c | 3 +++ src/hnswvacuum.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/hnswbuild.c b/src/hnswbuild.c index 2e44031..f5ea264 100644 --- a/src/hnswbuild.c +++ b/src/hnswbuild.c @@ -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(); diff --git a/src/hnswvacuum.c b/src/hnswvacuum.c index fb8ec4f..71ccea5 100644 --- a/src/hnswvacuum.c +++ b/src/hnswvacuum.c @@ -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);