Simplified code

This commit is contained in:
Andrew Kane
2023-08-18 20:49:00 -07:00
parent a03f6ae4bc
commit fecb8c06c9
2 changed files with 4 additions and 6 deletions

View File

@@ -16,14 +16,14 @@ GetScanItems(IndexScanDesc scan, Datum q)
Relation index = scan->indexRelation; Relation index = scan->indexRelation;
FmgrInfo *procinfo = so->procinfo; FmgrInfo *procinfo = so->procinfo;
Oid collation = so->collation; Oid collation = so->collation;
List *ep = NIL; List *ep;
List *w; List *w;
HnswElement entryPoint = HnswGetEntryPoint(index); HnswElement entryPoint = HnswGetEntryPoint(index);
if (entryPoint == NULL) if (entryPoint == NULL)
return NIL; return NIL;
ep = lappend(ep, HnswEntryCandidate(entryPoint, q, index, procinfo, collation, false)); ep = list_make1(HnswEntryCandidate(entryPoint, q, index, procinfo, collation, false));
for (int lc = entryPoint->level; lc >= 1; lc--) for (int lc = entryPoint->level; lc >= 1; lc--)
{ {

View File

@@ -926,21 +926,19 @@ RemoveElementsBeingDeleted(List *w)
void void
HnswInsertElement(HnswElement element, HnswElement entryPoint, Relation index, FmgrInfo *procinfo, Oid collation, int m, int efConstruction, bool existing) HnswInsertElement(HnswElement element, HnswElement entryPoint, Relation index, FmgrInfo *procinfo, Oid collation, int m, int efConstruction, bool existing)
{ {
List *ep = NIL; List *ep;
List *w; List *w;
int level = element->level; int level = element->level;
int entryLevel; int entryLevel;
Datum q = PointerGetDatum(element->vec); Datum q = PointerGetDatum(element->vec);
HnswElement skipElement = existing ? element : NULL; HnswElement skipElement = existing ? element : NULL;
HnswCandidate *entryCandidate;
/* No neighbors if no entry point */ /* No neighbors if no entry point */
if (entryPoint == NULL) if (entryPoint == NULL)
return; return;
/* Get entry point and level */ /* Get entry point and level */
entryCandidate = HnswEntryCandidate(entryPoint, q, index, procinfo, collation, true); ep = list_make1(HnswEntryCandidate(entryPoint, q, index, procinfo, collation, true));
ep = lappend(ep, entryCandidate);
entryLevel = entryPoint->level; entryLevel = entryPoint->level;
/* 1st phase: greedy search to insert level */ /* 1st phase: greedy search to insert level */