• Teodor Sigaev's avatar
    Fix lossy KNN GiST when ordering operator returns non-float8 value. · f25d07d9
    Teodor Sigaev authored
    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
    f25d07d9
gistscan.c 9.91 KB