pgvector.git / summary / log / commit / refs
commit 5ce367e18b11089eb4fb1569d3a44221809e57cd
Author: Andrew Kane <andrew@ankane.org>
Date: Mon Sep 30 01:18:42 2024 +0000
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 cfbcd3f0..caec2e46 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 498b5d95..10bda205 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 42d7378f..6456005e 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 c2f11280..06596098 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);
[parent: f371eb119b37]