Fixed select with no data

This commit is contained in:
Andrew Kane
2023-08-15 23:25:28 -07:00
parent e8f36aee92
commit 2b138d6cb5
3 changed files with 13 additions and 4 deletions

View File

@@ -9,7 +9,7 @@
/*
* Algorithm 5 from paper
*/
static void
static List *
GetScanItems(IndexScanDesc scan, Datum q)
{
HnswScanOpaque so = (HnswScanOpaque) scan->opaque;
@@ -21,7 +21,7 @@ GetScanItems(IndexScanDesc scan, Datum q)
HnswElement entryPoint = HnswGetEntryPoint(index);
if (entryPoint == NULL)
return;
return NIL;
ep = lappend(ep, HnswEntryCandidate(entryPoint, q, index, procinfo, collation, false));
@@ -31,7 +31,7 @@ GetScanItems(IndexScanDesc scan, Datum q)
ep = w;
}
so->w = HnswSearchLayer(q, ep, hnsw_ef_search, 0, index, procinfo, collation, false, NULL);
return HnswSearchLayer(q, ep, hnsw_ef_search, 0, index, procinfo, collation, false, NULL);
}
/*
@@ -144,7 +144,7 @@ hnswgettuple(IndexScanDesc scan, ScanDirection dir)
HnswNormValue(so->normprocinfo, so->collation, &value, NULL);
}
GetScanItems(scan, value);
so->w = GetScanItems(scan, value);
so->first = false;
}

View File

@@ -27,4 +27,10 @@ SELECT COUNT(*) FROM t;
5
(1 row)
TRUNCATE t;
SELECT * FROM t ORDER BY val <-> '[3,3,3]';
val
-----
(0 rows)
DROP TABLE t;

View File

@@ -10,4 +10,7 @@ SELECT * FROM t ORDER BY val <-> '[3,3,3]';
SELECT * FROM t ORDER BY val <-> (SELECT NULL::vector);
SELECT COUNT(*) FROM t;
TRUNCATE t;
SELECT * FROM t ORDER BY val <-> '[3,3,3]';
DROP TABLE t;