diff --git a/src/hnsw.h b/src/hnsw.h index bfd2049..a042dd8 100644 --- a/src/hnsw.h +++ b/src/hnsw.h @@ -93,6 +93,9 @@ #define HnswGetValue(base, element) PointerGetDatum(HnswPtrAccess(base, (element)->value)) +#define HnswGetSearchCandidate(membername, ptr) pairingheap_container(HnswSearchCandidate, membername, ptr) +#define HnswGetSearchCandidateConst(membername, ptr) pairingheap_const_container(HnswSearchCandidate, membername, ptr) + #if PG_VERSION_NUM < 140005 #define relptr_offset(rp) ((rp).relptr_off - 1) #endif @@ -176,9 +179,6 @@ typedef struct HnswSearchCandidate double distance; } HnswSearchCandidate; -#define HnswGetSearchCandidate(membername, ptr) pairingheap_container(HnswSearchCandidate, membername, ptr) -#define HnswGetSearchCandidateConst(membername, ptr) pairingheap_const_container(HnswSearchCandidate, membername, ptr) - /* HNSW index options */ typedef struct HnswOptions { @@ -358,6 +358,12 @@ typedef union struct tidhash_hash *tids; } visited_hash; +typedef union +{ + HnswElement element; + ItemPointerData indextid; +} HnswUnvisited; + typedef struct HnswScanOpaqueData { const HnswTypeInfo *typeInfo; diff --git a/src/hnswutils.c b/src/hnswutils.c index fb35563..732fcd7 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -100,12 +100,6 @@ hash_offset(Size offset) #define SH_DEFINE #include "lib/simplehash.h" -typedef union -{ - HnswElement element; - ItemPointerData indextid; -} HnswUnvisited; - /* * Get the max number of connections in an upper layer for each element in the index */