mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 08:46:49 +02:00
test cases diff
This commit is contained in:
parent
4ba167c315
commit
3db69bd8ed
2 changed files with 44 additions and 44 deletions
|
|
@ -619,45 +619,45 @@
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[eq-bbbb]
|
# name: test_long_text_knn[eq-bbbb]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name = ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name = ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 3,
|
'rowid': 3,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbb',
|
'name': 'bbbb',
|
||||||
|
'distance': 97.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[eq-bbbbbbbbbbbb_aaa]
|
# name: test_long_text_knn[eq-bbbbbbbbbbbb_aaa]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name = ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name = ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[eq-bbbbbbbbbbbb_bbb]
|
# name: test_long_text_knn[eq-bbbbbbbbbbbb_bbb]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name = ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name = ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 4,
|
'rowid': 4,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbbbbbbbbbb_bbb',
|
'name': 'bbbbbbbbbbbb_bbb',
|
||||||
|
'distance': 96.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[eq-bbbbbbbbbbbb_ccc]
|
# name: test_long_text_knn[eq-bbbbbbbbbbbb_ccc]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name = ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name = ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[eq-longlonglonglonglonglonglong]
|
# name: test_long_text_knn[eq-longlonglonglonglonglonglong]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name = ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name = ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
|
|
@ -784,160 +784,160 @@
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[ne-bbbb]
|
# name: test_long_text_knn[ne-bbbb]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name != ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name != ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 6,
|
'rowid': 6,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccccccccccc_ccc',
|
'name': 'cccccccccccc_ccc',
|
||||||
|
'distance': 94.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 5,
|
'rowid': 5,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccc',
|
'name': 'cccc',
|
||||||
|
'distance': 95.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 4,
|
'rowid': 4,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbbbbbbbbbb_bbb',
|
'name': 'bbbbbbbbbbbb_bbb',
|
||||||
|
'distance': 96.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 2,
|
'rowid': 2,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaaaaaaaaaa_aaa',
|
'name': 'aaaaaaaaaaaa_aaa',
|
||||||
|
'distance': 98.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 1,
|
'rowid': 1,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaa',
|
'name': 'aaaa',
|
||||||
|
'distance': 99.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[ne-bbbbbbbbbbbb_aaa]
|
# name: test_long_text_knn[ne-bbbbbbbbbbbb_aaa]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name != ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name != ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 6,
|
'rowid': 6,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccccccccccc_ccc',
|
'name': 'cccccccccccc_ccc',
|
||||||
|
'distance': 94.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 5,
|
'rowid': 5,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccc',
|
'name': 'cccc',
|
||||||
|
'distance': 95.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 4,
|
'rowid': 4,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbbbbbbbbbb_bbb',
|
'name': 'bbbbbbbbbbbb_bbb',
|
||||||
|
'distance': 96.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 3,
|
'rowid': 3,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbb',
|
'name': 'bbbb',
|
||||||
|
'distance': 97.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 2,
|
'rowid': 2,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaaaaaaaaaa_aaa',
|
'name': 'aaaaaaaaaaaa_aaa',
|
||||||
|
'distance': 98.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[ne-bbbbbbbbbbbb_bbb]
|
# name: test_long_text_knn[ne-bbbbbbbbbbbb_bbb]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name != ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name != ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 6,
|
'rowid': 6,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccccccccccc_ccc',
|
'name': 'cccccccccccc_ccc',
|
||||||
|
'distance': 94.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 5,
|
'rowid': 5,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccc',
|
'name': 'cccc',
|
||||||
|
'distance': 95.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 3,
|
'rowid': 3,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbb',
|
'name': 'bbbb',
|
||||||
|
'distance': 97.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 2,
|
'rowid': 2,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaaaaaaaaaa_aaa',
|
'name': 'aaaaaaaaaaaa_aaa',
|
||||||
|
'distance': 98.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 1,
|
'rowid': 1,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaa',
|
'name': 'aaaa',
|
||||||
|
'distance': 99.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[ne-bbbbbbbbbbbb_ccc]
|
# name: test_long_text_knn[ne-bbbbbbbbbbbb_ccc]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name != ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name != ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 6,
|
'rowid': 6,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccccccccccc_ccc',
|
'name': 'cccccccccccc_ccc',
|
||||||
|
'distance': 94.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 5,
|
'rowid': 5,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccc',
|
'name': 'cccc',
|
||||||
|
'distance': 95.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 4,
|
'rowid': 4,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbbbbbbbbbb_bbb',
|
'name': 'bbbbbbbbbbbb_bbb',
|
||||||
|
'distance': 96.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 3,
|
'rowid': 3,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbb',
|
'name': 'bbbb',
|
||||||
|
'distance': 97.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 2,
|
'rowid': 2,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaaaaaaaaaa_aaa',
|
'name': 'aaaaaaaaaaaa_aaa',
|
||||||
|
'distance': 98.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_long_text_knn[ne-longlonglonglonglonglonglong]
|
# name: test_long_text_knn[ne-longlonglonglonglonglonglong]
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'sql': "select * from v where vector match X'11111111' and k = 5 and name != ?",
|
'sql': "select rowid, name, distance from v where vector match '[100]' and k = 5 and name != ?",
|
||||||
'rows': list([
|
'rows': list([
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 6,
|
'rowid': 6,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccccccccccc_ccc',
|
'name': 'cccccccccccc_ccc',
|
||||||
|
'distance': 94.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 5,
|
'rowid': 5,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'cccc',
|
'name': 'cccc',
|
||||||
|
'distance': 95.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 4,
|
'rowid': 4,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbbbbbbbbbb_bbb',
|
'name': 'bbbbbbbbbbbb_bbb',
|
||||||
|
'distance': 96.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 3,
|
'rowid': 3,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'bbbb',
|
'name': 'bbbb',
|
||||||
|
'distance': 97.0,
|
||||||
}),
|
}),
|
||||||
OrderedDict({
|
OrderedDict({
|
||||||
'rowid': 2,
|
'rowid': 2,
|
||||||
'vector': b'\x11\x11\x11\x11',
|
|
||||||
'name': 'aaaaaaaaaaaa_aaa',
|
'name': 'aaaaaaaaaaaa_aaa',
|
||||||
|
'distance': 98.0,
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -138,12 +138,12 @@ def test_long_text_knn(db, snapshot):
|
||||||
"create virtual table v using vec0(vector float[1], name text, chunk_size=8)"
|
"create virtual table v using vec0(vector float[1], name text, chunk_size=8)"
|
||||||
)
|
)
|
||||||
INSERT = "insert into v(vector, name) values (?, ?)"
|
INSERT = "insert into v(vector, name) values (?, ?)"
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "aaaa"])
|
exec(db, INSERT, ["[1]", "aaaa"])
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "aaaaaaaaaaaa_aaa"])
|
exec(db, INSERT, ["[2]", "aaaaaaaaaaaa_aaa"])
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "bbbb"])
|
exec(db, INSERT, ["[3]", "bbbb"])
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "bbbbbbbbbbbb_bbb"])
|
exec(db, INSERT, ["[4]", "bbbbbbbbbbbb_bbb"])
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "cccc"])
|
exec(db, INSERT, ["[5]", "cccc"])
|
||||||
exec(db, INSERT, [b"\x11\x11\x11\x11", "cccccccccccc_ccc"])
|
exec(db, INSERT, ["[6]", "cccccccccccc_ccc"])
|
||||||
|
|
||||||
tests = [
|
tests = [
|
||||||
"bbbb",
|
"bbbb",
|
||||||
|
|
@ -159,7 +159,7 @@ def test_long_text_knn(db, snapshot):
|
||||||
for op, op_name in zip(ops, op_names):
|
for op, op_name in zip(ops, op_names):
|
||||||
assert exec(
|
assert exec(
|
||||||
db,
|
db,
|
||||||
f"select * from v where vector match X'11111111' and k = 5 and name {op} ?",
|
f"select rowid, name, distance from v where vector match '[100]' and k = 5 and name {op} ?",
|
||||||
[test],
|
[test],
|
||||||
) == snapshot(name=f"{op_name}-{test}")
|
) == snapshot(name=f"{op_name}-{test}")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue