mirror of
https://github.com/sqlite/sqlite.git
synced 2026-10-23 21:49:02 +03:00
119 lines
3.0 KiB
Plaintext
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
|
|
|