From: | Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix handling of NaN values in BRIN minmax multi |
Date: | 2021-11-06 00:55:28 |
Message-ID: | E1mj9zU-0003Sr-Br@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix handling of NaN values in BRIN minmax multi
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
Branch
------
REL_14_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/f7829feb759ef54d9adcc696fa8345e280ed423b
Modified Files
--------------
src/backend/access/brin/brin_minmax_multi.c | 17 +++++++++++++++++
src/test/regress/expected/brin_multi.out | 3 +++
src/test/regress/sql/brin_multi.sql | 4 ++++
3 files changed, 24 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2021-11-06 01:46:57 | Re: pgsql: Introduce 'bbstreamer' abstraction to modularize pg_basebackup. |
Previous Message | Tomas Vondra | 2021-11-06 00:53:13 | pgsql: Fix handling of NaN values in BRIN minmax multi |