0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2025-05-05 03:12:03 +00:00

refine errors even more

This commit is contained in:
Nikita Sivukhin
2024-07-26 18:54:58 +04:00
parent ad766c429a
commit 9981d607a7
4 changed files with 33 additions and 28 deletions

@ -90,16 +90,16 @@ do_test vector-1-func-errors {
lappend ret [error_messages {SELECT vector_distance_cos('[1,2,3]', '[1,2]')}]
lappend ret [error_messages {SELECT vector_distance_cos(vector32('[1,2,3]'), vector64('[1,2,3]'))}]
} [list {*}{
{invalid vector: unexpected value type: got FLOAT, expected TEXT or BLOB}
{invalid vector: unexpected value type: got INTEGER, expected TEXT or BLOB}
{invalid vector: unexpected value type: got NULL, expected TEXT or BLOB}
{invalid vector: must start with '['}
{invalid vector: must start with '['}
{invalid vector: non-space symbols after closing ']' are forbidden}
{invalid vector: invalid float at position 0: '[1'}
{invalid vector: invalid float at position 2: '1.1.1'}
{invalid vector: must end with ']'}
{invalid vector: unexpected binary type: got 0, expected 1 or 2}
{vector: unexpected value type: got FLOAT, expected TEXT or BLOB}
{vector: unexpected value type: got INTEGER, expected TEXT or BLOB}
{vector: unexpected value type: got NULL, expected TEXT or BLOB}
{vector: must start with '['}
{vector: must start with '['}
{vector: non-space symbols after closing ']' are forbidden}
{vector: invalid float at position 0: '[1'}
{vector: invalid float at position 2: '1.1.1'}
{vector: must end with ']'}
{vector: unexpected binary type: got 0, expected 1 or 2}
{vector_distance_cos: vectors must have the same length: 3 != 2}
{vector_distance_cos: vectors must have the same type: 1 != 2}
}]

@ -278,6 +278,9 @@ do_test vector-errors {
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(b) )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(c) )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(d) )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(e, 'a=1') )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(e, 'metric=unknown') )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err( libsql_vector_idx(e, 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine', 'metric=cosine') )}]
lappend ret [error_messages {CREATE INDEX t_err_idx ON t_err2( libsql_vector_idx(v) )}]
sqlite3_exec db { CREATE TABLE t_err3 ( e FLOAT32(4) ) }
sqlite3_exec db { CREATE INDEX t_err3_idx ON t_err3 (libsql_vector_idx(e)) }
@ -298,6 +301,9 @@ do_test vector-errors {
{vector index: unexpected vector column type: BLOB}
{vector index: non digit symbol in vector column parameter: FLOAT32(-1)}
{vector index: vector column must have non-zero dimension for index: FLOAT32(0)}
{vector index: invalid vector index parameter 'a=1': invalid parameter}
{vector index: invalid vector index parameter 'metric=unknown': invalid parameter}
{vector index: invalid vector index parameter 'metric=cosine': unable to serialize vector index parameter}
{vector index: unsupported for tables without ROWID and composite primary key}
{vector index(insert): dimensions are different: 1 != 4}
{vector index(insert): dimensions are different: 5 != 4}