mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-06 18:49:27 +02:00
Provide stable test for NULL-values in KNN SP-GiST
f5f084fc3e
has removed test because of its instability. This commit provides
alternative test with determined ordering using extra ORDER BY expression.
Backpatch-through: 12
This commit is contained in:
parent
09f8106b96
commit
d75386a3fd
@ -555,6 +555,16 @@ WHERE seq.dist IS DISTINCT FROM idx.dist;
|
|||||||
---+------+---+---+------+---
|
---+------+---+---+------+---
|
||||||
(0 rows)
|
(0 rows)
|
||||||
|
|
||||||
|
-- check ORDER BY distance to NULL
|
||||||
|
SELECT (SELECT p FROM kd_point_tbl ORDER BY p <-> pt, p <-> '0,0' LIMIT 1)
|
||||||
|
FROM (VALUES (point '1,2'), (NULL), ('1234,5678')) pts(pt);
|
||||||
|
p
|
||||||
|
-------------
|
||||||
|
(59,21)
|
||||||
|
(59,21)
|
||||||
|
(1239,5647)
|
||||||
|
(3 rows)
|
||||||
|
|
||||||
EXPLAIN (COSTS OFF)
|
EXPLAIN (COSTS OFF)
|
||||||
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
|
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
|
||||||
QUERY PLAN
|
QUERY PLAN
|
||||||
|
@ -225,6 +225,10 @@ SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN kd_point_tbl_ord_idx3 idx
|
|||||||
ON seq.n = idx.n
|
ON seq.n = idx.n
|
||||||
WHERE seq.dist IS DISTINCT FROM idx.dist;
|
WHERE seq.dist IS DISTINCT FROM idx.dist;
|
||||||
|
|
||||||
|
-- check ORDER BY distance to NULL
|
||||||
|
SELECT (SELECT p FROM kd_point_tbl ORDER BY p <-> pt, p <-> '0,0' LIMIT 1)
|
||||||
|
FROM (VALUES (point '1,2'), (NULL), ('1234,5678')) pts(pt);
|
||||||
|
|
||||||
|
|
||||||
EXPLAIN (COSTS OFF)
|
EXPLAIN (COSTS OFF)
|
||||||
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
|
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
|
||||||
|
Loading…
Reference in New Issue
Block a user