mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-28 23:02:43 +08:00
Added tests for rescans / nested loop joins - #1002
Co-authored-by: zthhhhh <97zthhhh@gmail.com>
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user