1
0
mirror of https://github.com/tensorchord/pgvecto.rs.git synced 2025-08-01 06:46:52 +03:00
Files
pgvecto.rs/tests/sqllogictest/bvector.slt
Mingzhuo Yin 44f295ce63 fix index out of bounds for large bvector
Signed-off-by: Mingzhuo Yin <yinmingzhuo@gmail.com>
2024-02-21 17:38:21 +08:00

42 lines
1.0 KiB
Plaintext

statement ok
SET search_path TO pg_temp, vectors;
statement ok
CREATE TABLE t (val bvector(3));
statement ok
INSERT INTO t (val) SELECT ARRAY[ROUND(RANDOM()::numeric, 0), ROUND(RANDOM()::numeric, 0), ROUND(RANDOM()::numeric, 0)]::real[]::vector::bvector FROM generate_series(1, 1000);
statement ok
CREATE INDEX ON t USING vectors (val bvector_l2_ops)
WITH (options = "[indexing.hnsw]");
statement ok
CREATE INDEX ON t USING vectors (val bvector_dot_ops)
WITH (options = "[indexing.hnsw]");
statement ok
CREATE INDEX ON t USING vectors (val bvector_cos_ops)
WITH (options = "[indexing.ivf]");
query I
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <-> '[0,1,0]'::bvector limit 10) t2;
----
10
query I
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <=> '[0,1,0]'::bvector limit 10) t2;
----
10
query I
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <#> '[0,1,0]'::bvector limit 10) t2;
----
10
statement ok
DROP TABLE t;
statement ok
SELECT array_agg(1)::real[]::vector::bvector FROM generate_series(1, 100);