1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-23 21:49:02 +03:00
Files
sqlite/ext/vec1/test/vec1version.test
dan e32fbe0c23 Import vec1 sources into directory ext/vec1/ of this project.
FossilOrigin-Name: 3a0876d973868be7b6f4156a434cd09098c7ab1abdc7f0ef4f3d12a03de68b24
2026-09-30 14:49:16 +00:00

119 lines
3.0 KiB
Plaintext

# 2026-01-17
#
# The author disclaims copyright to this source code. In place of
# a legal notice, here is a blessing:
#
# May you do good and not evil.
# May you find forgiveness for yourself and forgive others.
# May you share freely, never taking more than you give.
#
#***********************************************************************
#
#
source [file join [file dirname [info script]] vec1_common.tcl]
set testprefix vec1version
vec1_load db
do_execsql_test 1.0 {
CREATE VIRTUAL TABLE v1 USING vec1;
}
do_execsql_test 1.1 {
INSERT INTO v1(rowid, vector) VALUES(1, random_vector(128));
INSERT INTO v1(rowid, vector) VALUES(2, random_vector(128));
INSERT INTO v1(rowid, vector) VALUES(3, random_vector(128));
INSERT INTO v1(rowid, vector) VALUES(4, random_vector(128));
INSERT INTO v1(rowid, vector) VALUES(5, random_vector(128));
INSERT INTO v1(cmd, vector) VALUES('rebuild', '{index:"flat"}');
}
do_execsql_test 1.2 { PRAGMA integrity_check } {ok}
do_execsql_test 1.3 {
SELECT * FROM v1_config WHERE id=5;
} {5 4}
do_execsql_test 1.4 {
UPDATE v1_config SET val=2 WHERE id=5;
} {}
db close
sqlite3 db test.db
vec1_load db
do_catchsql_test 1.5 {
SELECT rowid FROM v1(random_vector(128));
} {1 {unrecognized index version}}
do_execsql_test 1.6 {
UPDATE v1_config SET val=7 WHERE id=5;
} {}
do_catchsql_test 1.7 {
SELECT rowid FROM v1(random_vector(128));
} {1 {unsupported index version - requires vec1 0.7}}
do_execsql_test 2.0 {
CREATE VIRTUAL TABLE v2 USING vec1;
INSERT INTO v2(rowid, vector) VALUES(5, random_vector(128));
INSERT INTO v2_config(id, val) VALUES(17, 'hello');
}
db close
sqlite3 db test.db
vec1_load db
do_catchsql_test 2.1 {
SELECT rowid FROM v2(random_vector(128), 4);
} {1 {unrecognized config entry: 17}}
#--------------------------------------------------------------------------
do_execsql_test 3.0 {
CREATE VIRTUAL TABLE v3 USING vec1;
}
do_execsql_test 3.1 {
INSERT INTO v3(rowid, vector) VALUES(1, random_vector(128));
INSERT INTO v3(rowid, vector) VALUES(2, random_vector(128));
INSERT INTO v3(rowid, vector) VALUES(3, random_vector(128));
INSERT INTO v3(rowid, vector) VALUES(4, random_vector(128));
INSERT INTO v3(rowid, vector) VALUES(5, random_vector(128));
INSERT INTO v3(cmd, vector) VALUES('rebuild', '{index:"flat"}');
}
do_test 3.2 {
set model [db one {SELECT val FROM v3_model WHERE id=1}]
set model [string replace $model 0 3 [binary format I 1005]]
db eval { UPDATE v3_model SET val = $model WHERE id=1 }
} {}
db close
sqlite3 db test.db
vec1_load db
do_catchsql_test 3.3 {
SELECT rowid FROM v3(random_vector(128), 4);
} {1 {vec1: unsupported model version - require vec1 1.5}}
do_test 3.4 {
set model [db one {SELECT val FROM v3_model WHERE id=1}]
set model [string replace $model 0 3 [binary format I 2]]
db eval { UPDATE v3_model SET val = $model WHERE id=1 }
} {}
db close
sqlite3 db test.db
vec1_load db
do_catchsql_test 3.5 {
SELECT rowid FROM v3(random_vector(128), 4);
} {1 {vec1: unrecognized model version}}
finish_test