From 5ce367e18b11089eb4fb1569d3a44221809e57cd Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 29 Sep 2024 18:18:42 -0700 Subject: [PATCH] Removed lc from HnswUpdateConnection [skip ci] --- src/hnsw.h | 2 +- src/hnswbuild.c | 2 +- src/hnswinsert.c | 2 +- src/hnswutils.c | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/hnsw.h b/src/hnsw.h index cfbcd3f..caec2e4 100644 --- a/src/hnsw.h +++ b/src/hnsw.h @@ -392,7 +392,7 @@ void HnswUpdateNeighborsOnDisk(Relation index, FmgrInfo *procinfo, Oid collatio void HnswLoadElementFromTuple(HnswElement element, HnswElementTuple etup, bool loadHeaptids, bool loadVec); void HnswLoadElement(HnswElement element, double *distance, Datum *q, Relation index, FmgrInfo *procinfo, Oid collation, bool loadVec, double *maxDistance); void HnswSetElementTuple(char *base, HnswElementTuple etup, HnswElement element); -void HnswUpdateConnection(char *base, HnswElement element, HnswCandidate * hc, int lm, int lc, int *updateIdx, Relation index, FmgrInfo *procinfo, Oid collation); +void HnswUpdateConnection(char *base, HnswElement element, HnswCandidate * hc, HnswNeighborArray * currentNeighbors, int lm, int *updateIdx, Relation index, FmgrInfo *procinfo, Oid collation); void HnswInitLockTranche(void); const HnswTypeInfo *HnswGetTypeInfo(Relation index); PGDLLEXPORT void HnswParallelBuildMain(dsm_segment *seg, shm_toc *toc); diff --git a/src/hnswbuild.c b/src/hnswbuild.c index 498b5d9..10bda20 100644 --- a/src/hnswbuild.c +++ b/src/hnswbuild.c @@ -388,7 +388,7 @@ UpdateNeighborsInMemory(char *base, FmgrInfo *procinfo, Oid collation, HnswEleme Assert(neighborElement); LWLockAcquire(&neighborElement->lock, LW_EXCLUSIVE); - HnswUpdateConnection(base, e, hc, lm, lc, NULL, NULL, procinfo, collation); + HnswUpdateConnection(base, e, hc, HnswGetNeighbors(base, neighborElement, lc), lm, NULL, NULL, procinfo, collation); LWLockRelease(&neighborElement->lock); } } diff --git a/src/hnswinsert.c b/src/hnswinsert.c index 42d7378..6456005 100644 --- a/src/hnswinsert.c +++ b/src/hnswinsert.c @@ -458,7 +458,7 @@ HnswUpdateNeighborsOnDisk(Relation index, FmgrInfo *procinfo, Oid collation, Hns */ /* Select neighbors */ - HnswUpdateConnection(NULL, e, hc, lm, lc, &idx, index, procinfo, collation); + HnswUpdateConnection(NULL, e, hc, HnswGetNeighbors(base, neighborElement, lc), lm, &idx, index, procinfo, collation); /* New element was not selected as a neighbor */ if (idx == -1) diff --git a/src/hnswutils.c b/src/hnswutils.c index c2f1128..0659609 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -1078,10 +1078,9 @@ AddConnections(char *base, HnswElement element, List *neighbors, int lc) * Update connections */ void -HnswUpdateConnection(char *base, HnswElement element, HnswCandidate * hc, int lm, int lc, int *updateIdx, Relation index, FmgrInfo *procinfo, Oid collation) +HnswUpdateConnection(char *base, HnswElement element, HnswCandidate * hc, HnswNeighborArray * currentNeighbors, int lm, int *updateIdx, Relation index, FmgrInfo *procinfo, Oid collation) { HnswElement hce = HnswPtrAccess(base, hc->element); - HnswNeighborArray *currentNeighbors = HnswGetNeighbors(base, hce, lc); HnswCandidate hc2; HnswPtrStore(base, hc2.element, element);