@ -81,13 +81,13 @@ SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)';
(1 row)
(1 row)
CREATE TEMP TABLE quad_point_tbl_ord_seq1 AS
CREATE TEMP TABLE quad_point_tbl_ord_seq1 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl;
FROM quad_point_tbl;
CREATE TEMP TABLE quad_point_tbl_ord_seq2 AS
CREATE TEMP TABLE quad_point_tbl_ord_seq2 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
CREATE TEMP TABLE quad_point_tbl_ord_seq3 AS
CREATE TEMP TABLE quad_point_tbl_ord_seq3 AS
SELECT rank () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
SELECT row_number () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
FROM quad_point_tbl WHERE p IS NOT NULL;
FROM quad_point_tbl WHERE p IS NOT NULL;
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef';
count
count
@ -327,7 +327,7 @@ SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)';
(1 row)
(1 row)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl;
FROM quad_point_tbl;
QUERY PLAN
QUERY PLAN
-----------------------------------------------------------
-----------------------------------------------------------
@ -337,18 +337,17 @@ FROM quad_point_tbl;
(3 rows)
(3 rows)
CREATE TEMP TABLE quad_point_tbl_ord_idx1 AS
CREATE TEMP TABLE quad_point_tbl_ord_idx1 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl;
FROM quad_point_tbl;
SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN quad_point_tbl_ord_idx1 idx
SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN quad_point_tbl_ord_idx1 idx
ON seq.n = idx.n
ON seq.n = idx.n
AND (seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
QUERY PLAN
QUERY PLAN
-----------------------------------------------------------
-----------------------------------------------------------
@ -359,18 +358,17 @@ FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
(4 rows)
(4 rows)
CREATE TEMP TABLE quad_point_tbl_ord_idx2 AS
CREATE TEMP TABLE quad_point_tbl_ord_idx2 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)';
SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN quad_point_tbl_ord_idx2 idx
SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN quad_point_tbl_ord_idx2 idx
ON seq.n = idx.n
ON seq.n = idx.n
AND (seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
SELECT row_number () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
FROM quad_point_tbl WHERE p IS NOT NULL;
FROM quad_point_tbl WHERE p IS NOT NULL;
QUERY PLAN
QUERY PLAN
-----------------------------------------------------------
-----------------------------------------------------------
@ -381,12 +379,11 @@ FROM quad_point_tbl WHERE p IS NOT NULL;
(4 rows)
(4 rows)
CREATE TEMP TABLE quad_point_tbl_ord_idx3 AS
CREATE TEMP TABLE quad_point_tbl_ord_idx3 AS
SELECT rank () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
SELECT row_number () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
FROM quad_point_tbl WHERE p IS NOT NULL;
FROM quad_point_tbl WHERE p IS NOT NULL;
SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN quad_point_tbl_ord_idx3 idx
SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN quad_point_tbl_ord_idx3 idx
ON seq.n = idx.n
ON seq.n = idx.n
AND (seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)
@ -497,7 +494,7 @@ SELECT count(*) FROM kd_point_tbl WHERE p ~= '(4585, 365)';
(1 row)
(1 row)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM kd_point_tbl;
FROM kd_point_tbl;
QUERY PLAN
QUERY PLAN
-------------------------------------------------------
-------------------------------------------------------
@ -507,18 +504,17 @@ FROM kd_point_tbl;
(3 rows)
(3 rows)
CREATE TEMP TABLE kd_point_tbl_ord_idx1 AS
CREATE TEMP TABLE kd_point_tbl_ord_idx1 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM kd_point_tbl;
FROM kd_point_tbl;
SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN kd_point_tbl_ord_idx1 idx
SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN kd_point_tbl_ord_idx1 idx
ON seq.n = idx.n AND
ON seq.n = idx.n
(seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)';
FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)';
QUERY PLAN
QUERY PLAN
---------------------------------------------------------
---------------------------------------------------------
@ -529,18 +525,17 @@ FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)';
(4 rows)
(4 rows)
CREATE TEMP TABLE kd_point_tbl_ord_idx2 AS
CREATE TEMP TABLE kd_point_tbl_ord_idx2 AS
SELECT rank () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
SELECT row_number () OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, p
FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)';
FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)';
SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN kd_point_tbl_ord_idx2 idx
SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN kd_point_tbl_ord_idx2 idx
ON seq.n = idx.n AND
ON seq.n = idx.n
(seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)
EXPLAIN (COSTS OFF)
EXPLAIN (COSTS OFF)
SELECT rank () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
SELECT row_number () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
FROM kd_point_tbl WHERE p IS NOT NULL;
FROM kd_point_tbl WHERE p IS NOT NULL;
QUERY PLAN
QUERY PLAN
-------------------------------------------------------
-------------------------------------------------------
@ -551,12 +546,11 @@ FROM kd_point_tbl WHERE p IS NOT NULL;
(4 rows)
(4 rows)
CREATE TEMP TABLE kd_point_tbl_ord_idx3 AS
CREATE TEMP TABLE kd_point_tbl_ord_idx3 AS
SELECT rank () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
SELECT row_number () OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, p
FROM kd_point_tbl WHERE p IS NOT NULL;
FROM kd_point_tbl WHERE p IS NOT NULL;
SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN kd_point_tbl_ord_idx3 idx
SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN kd_point_tbl_ord_idx3 idx
ON seq.n = idx.n AND
ON seq.n = idx.n
(seq.dist = idx.dist AND seq.p ~= idx.p OR seq.p IS NULL AND idx.p IS NULL)
WHERE seq.dist IS DISTINCT FROM idx.dist;
WHERE seq.n IS NULL OR idx.n IS NULL;
n | dist | p | n | dist | p
n | dist | p | n | dist | p
---+------+---+---+------+---
---+------+---+---+------+---
(0 rows)
(0 rows)