]> granicus.if.org Git - postgresql/commit
Fix lossy KNN GiST when ordering operator returns non-float8 value.
authorTeodor Sigaev <teodor@sigaev.ru>
Tue, 2 Feb 2016 12:20:33 +0000 (15:20 +0300)
committerTeodor Sigaev <teodor@sigaev.ru>
Tue, 2 Feb 2016 12:20:33 +0000 (15:20 +0300)
commitf25d07d99f4acf136baed4ef29ea97faad7337db
tree8f7fd6e062dc3376ae8df0c97813369b63ac24b5
parent7191ce8bea0cb110a28faef178efa92bf456e030
Fix lossy KNN GiST when ordering operator returns non-float8 value.

KNN GiST with recheck flag should return to executor the same type as ordering
operator, GiST detects this type by looking to return type of function which
implements ordering operator. But occasionally detecting code works after
replacing ordering operator function to distance support function.
Distance support function always returns float8, so, detecting code get float8
instead of actual return type of ordering operator.

Built-in opclasses don't have ordering operator which doesn't return
non-float8 value, so, tests are impossible here, at least now.

Backpatch to 9.5 where lozzy KNN was introduced.

Author: Alexander Korotkov
Report by: Artur Zakirov
src/backend/access/gist/gistscan.c