@@ -225,6 +225,20 @@ do_execsql_test vector-index-dont-affect-sql {
225225 SELECT rowid FROM t_vector_other_sql WHERE emb = vector('[7,8]');
226226} {4 1 1 2 3 4}
227227
228+ do_execsql_test vector-partial-index-dont-affect-sql {
229+ CREATE TABLE t_vector_other_sql_part ( emb FLOAT32(2), t TEXT );
230+ INSERT INTO t_vector_other_sql_part VALUES (vector('[1,2]'), 'paper'), (vector('[3,4]'), 'journal');
231+ CREATE INDEX t_vector_other_sql_part_idx ON t_vector_other_sql_part(libsql_vector_idx(emb));
232+ INSERT INTO t_vector_other_sql_part VALUES (vector('[5,6]'), 'journal'), (vector('[7,8]'), 'paper');
233+ SELECT COUNT(*) FROM t_vector_other_sql_part;
234+ SELECT COUNT(*) FROM t_vector_other_sql_part WHERE emb = vector('[1,2]');
235+ SELECT COUNT(*) FROM t_vector_other_sql_part WHERE t = 'paper';
236+ SELECT rowid FROM t_vector_other_sql_part WHERE emb = vector('[1,2]');
237+ SELECT rowid FROM t_vector_other_sql_part WHERE emb = vector('[3,4]');
238+ SELECT rowid FROM t_vector_other_sql_part WHERE emb = vector('[5,6]');
239+ SELECT rowid FROM t_vector_other_sql_part WHERE emb = vector('[7,8]');
240+ } {4 1 2 1 2 3 4}
241+
228242do_execsql_test vector-index-dont-affect-sql-pk {
229243 CREATE TABLE t_vector_other_sql_pk ( name TEXT PRIMARY KEY, emb FLOAT32(2) );
230244 INSERT INTO t_vector_other_sql_pk VALUES ('a', vector('[1,2]')), ('b', vector('[3,4]'));
@@ -307,6 +321,8 @@ do_execsql_test vector-f64-index {
307321 SELECT * FROM vector_top_k('t_f64_idx', vector64('[1,2]'), 2);
308322} {1 2}
309323
324+ reset_db
325+
310326do_execsql_test vector-partial {
311327 CREATE TABLE t_partial( name TEXT, type INT, v FLOAT32(3));
312328 INSERT INTO t_partial VALUES ( 'a', 0, vector('[1,2,3]') );
@@ -392,8 +408,6 @@ proc error_messages {sql} {
392408 set ret [sqlite3_errmsg db]
393409}
394410
395- reset_db
396-
397411do_test vector-errors {
398412 set ret [list]
399413 lappend ret [error_messages {CREATE INDEX t_no_idx ON t_no( libsql_vector_idx(v) )}]
0 commit comments