From 1aea0dfcd89ce6b4c8eacb8bae49f9fb787bead2 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Thu, 8 Jun 2023 18:32:36 -0700 Subject: [PATCH] Added element check to binary format and fixed segmentation fault with index creation - fixes #151 --- src/ivfkmeans.c | 2 +- src/vector.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ivfkmeans.c b/src/ivfkmeans.c index 35f32d1..cddd724 100644 --- a/src/ivfkmeans.c +++ b/src/ivfkmeans.c @@ -251,7 +251,7 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) for (j = 0; j < numSamples; j++) { minDistance = DBL_MAX; - closestCenter = -1; + closestCenter = 0; /* Find closest center */ for (k = 0; k < numCenters; k++) diff --git a/src/vector.c b/src/vector.c index 392d98a..5e1e0b6 100644 --- a/src/vector.c +++ b/src/vector.c @@ -330,7 +330,10 @@ vector_recv(PG_FUNCTION_ARGS) result = InitVector(dim); for (i = 0; i < dim; i++) + { result->x[i] = pq_getmsgfloat4(buf); + CheckElement(result->x[i]); + } PG_RETURN_POINTER(result); }