mirror of
https://github.com/pgvector/pgvector.git
synced 2026-06-30 09:41:15 +08:00
Free memory [skip ci]
This commit is contained in:
@@ -226,6 +226,8 @@ hnswgettuple(IndexScanDesc scan, ScanDirection dir)
|
||||
if (element->heaptidsLength == 0)
|
||||
{
|
||||
so->w = list_delete_last(so->w);
|
||||
pfree(element);
|
||||
pfree(hc);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -938,10 +938,14 @@ HnswSearchLayer(char *base, Datum q, List *ep, int ef, int lc, Relation index, F
|
||||
/* No need to decrement wlen */
|
||||
if (wlen > ef)
|
||||
{
|
||||
HnswCandidate *hc = HnswGetPairingHeapCandidate(w_node, pairingheap_remove_first(W));
|
||||
HnswPairingHeapNode *node = pairingheap_container(HnswPairingHeapNode, w_node, pairingheap_remove_first(W));
|
||||
HnswCandidate *hc = node->inner;
|
||||
|
||||
if (discarded != NULL)
|
||||
*discarded = lappend(*discarded, hc);
|
||||
|
||||
/* TODO */
|
||||
/* pfree(node); */
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -950,9 +954,12 @@ HnswSearchLayer(char *base, Datum q, List *ep, int ef, int lc, Relation index, F
|
||||
/* Add each element of W to w */
|
||||
while (!pairingheap_is_empty(W))
|
||||
{
|
||||
HnswCandidate *hc = HnswGetPairingHeapCandidate(w_node, pairingheap_remove_first(W));
|
||||
HnswPairingHeapNode *node = pairingheap_container(HnswPairingHeapNode, w_node, pairingheap_remove_first(W));
|
||||
HnswCandidate *hc = node->inner;
|
||||
|
||||
w = lappend(w, hc);
|
||||
|
||||
pfree(node);
|
||||
}
|
||||
|
||||
return w;
|
||||
|
||||
Reference in New Issue
Block a user