From 3c2a3db8b2a0ec6a23bd520bbc1431fc123a75d9 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 12 Sep 2023 23:01:23 -0700 Subject: [PATCH] Free datum [skip ci] --- src/hnswbuild.c | 1 + src/hnswutils.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/hnswbuild.c b/src/hnswbuild.c index 8caf1f3..e1c3bd6 100644 --- a/src/hnswbuild.c +++ b/src/hnswbuild.c @@ -378,6 +378,7 @@ BuildCallback(Relation index, CALLBACK_ITEM_POINTER, Datum *values, if (inserted) { element->value = datumTransfer(element->value, false, -1); + element->loaded = true; buildstate->elements = lappend(buildstate->elements, element); } else diff --git a/src/hnswutils.c b/src/hnswutils.c index 2bb40f3..de816e2 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -188,6 +188,8 @@ HnswFreeElement(HnswElement element) { HnswFreeNeighbors(element); list_free_deep(element->heaptids); + if (element->loaded) + pfree(DatumGetPointer(element->value)); pfree(element); }