pgsql: Fix lossy KNN GiST when ordering operator returns non-float8 val - Mailing list pgsql-committers

From Teodor Sigaev
Subject pgsql: Fix lossy KNN GiST when ordering operator returns non-float8 val
Date
Msg-id E1aQZxf-0006hY-IF@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f25d07d99f4acf136baed4ef29ea97faad7337db

Modified Files
--------------
src/backend/access/gist/gistscan.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Teodor Sigaev
Date:
Subject: pgsql: Fix lossy KNN GiST when ordering operator returns non-float8 val
Next
From: Magnus Hagander
Date:
Subject: pgsql: Fix typo in comment