• Tomas Vondra's avatar
    Fix handling of NaN values in BRIN minmax multi · f7829feb
    Tomas Vondra authored
    When calculating distance between float4/float8 values, we need to be a
    bit more careful about NaN values in order not to trigger assert. We
    consider NaN values to be equal (distace 0.0) and in infinite distance
    from all other values.
    
    On builds without asserts, this issue is mostly harmless - the ranges
    may be merged in less efficient order, but the index is still correct.
    
    Per report from Andreas Seltenreich. Backpatch to 14, where this new
    BRIN opclass was introduced.
    
    Reported-by: Andreas Seltenreich
    Discussion: https://postgr.es/m/87r1bw9ukm.fsf@credativ.de
    f7829feb
brin_multi.out 16 KB