Added tests for rescans / nested loop joins - #1002

Co-authored-by: zthhhhh <97zthhhh@gmail.com>
This commit is contained in:
Andrew Kane
2026-07-28 00:44:44 -07:00
parent 2a7b954beb
commit 982593ef01
4 changed files with 20 additions and 0 deletions

View File

@@ -78,6 +78,15 @@ SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> (SELECT NULL::vector)) t2
3
(1 row)
SELECT * FROM t CROSS JOIN LATERAL (SELECT * FROM t t2 ORDER BY val <=> t.val LIMIT 1) WHERE t.val IS NOT NULL ORDER BY t.val;
val | val
---------+---------
[0,0,0] | [1,1,1]
[1,1,1] | [1,1,1]
[1,2,3] | [1,2,3]
[1,2,4] | [1,2,4]
(4 rows)
DROP TABLE t;
-- L1
CREATE TABLE t (val vector(3));

View File

@@ -81,6 +81,15 @@ SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> (SELECT NULL::vector)) t2
3
(1 row)
SELECT * FROM t CROSS JOIN LATERAL (SELECT * FROM t t2 ORDER BY val <=> t.val LIMIT 1) WHERE t.val IS NOT NULL ORDER BY t.val;
val | val
---------+---------
[0,0,0] | [1,2,3]
[1,1,1] | [1,1,1]
[1,2,3] | [1,2,3]
[1,2,4] | [1,2,4]
(4 rows)
DROP TABLE t;
-- iterative
CREATE TABLE t (val vector(3));

View File

@@ -41,6 +41,7 @@ INSERT INTO t (val) VALUES ('[1,2,4]');
SELECT * FROM t ORDER BY val <=> '[3,3,3]';
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> '[0,0,0]') t2;
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> (SELECT NULL::vector)) t2;
SELECT * FROM t CROSS JOIN LATERAL (SELECT * FROM t t2 ORDER BY val <=> t.val LIMIT 1) WHERE t.val IS NOT NULL ORDER BY t.val;
DROP TABLE t;

View File

@@ -41,6 +41,7 @@ INSERT INTO t (val) VALUES ('[1,2,4]');
SELECT * FROM t ORDER BY val <=> '[3,3,3]';
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> '[0,0,0]') t2;
SELECT COUNT(*) FROM (SELECT * FROM t ORDER BY val <=> (SELECT NULL::vector)) t2;
SELECT * FROM t CROSS JOIN LATERAL (SELECT * FROM t t2 ORDER BY val <=> t.val LIMIT 1) WHERE t.val IS NOT NULL ORDER BY t.val;
DROP TABLE t;