Skip to content
Snippets Groups Projects
Commit f84c8601 authored by Tom Lane's avatar Tom Lane
Browse files

Add error check for lossy distance functions in index-only scans.

Maybe we should actually support this, but for the moment let's just
throw an error if the opclass tries it.
parent 72809480
No related branches found
No related tags found
No related merge requests found
...@@ -165,6 +165,19 @@ IndexOnlyNext(IndexOnlyScanState *node) ...@@ -165,6 +165,19 @@ IndexOnlyNext(IndexOnlyScanState *node)
} }
} }
/*
* We don't currently support rechecking ORDER BY distances. (In
* principle, if the index can support retrieval of the originally
* indexed value, it should be able to produce an exact distance
* calculation too. So it's not clear that adding code here for
* recheck/re-sort would be worth the trouble. But we should at least
* throw an error if someone tries it.)
*/
if (scandesc->numberOfOrderBys > 0 && scandesc->xs_recheckorderby)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("lossy distance functions are not supported in index-only scans")));
/* /*
* Predicate locks for index-only scans must be acquired at the page * Predicate locks for index-only scans must be acquired at the page
* level when the heap is not accessed, since tuple-level predicate * level when the heap is not accessed, since tuple-level predicate
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment