rm double/int32, just float/int64

This commit is contained in:
Alex Garcia 2024-11-13 22:23:47 -08:00
parent 06e28da3a5
commit 9fffdc4d1b
3 changed files with 100 additions and 191 deletions

View file

@ -295,11 +295,6 @@
'rows': list([
]),
}),
'v_metadata_chunks04': OrderedDict({
'sql': 'select * from v_metadata_chunks04',
'rows': list([
]),
}),
'v_rowids': OrderedDict({
'sql': 'select * from v_rowids',
'rows': list([
@ -314,21 +309,21 @@
# ---
# name: test_normal.2
OrderedDict({
'sql': 'insert into v(vector, n1, n2, f, d, t) values (?, ?, ?, ?, ?, ?)',
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
# ---
# name: test_normal.3
OrderedDict({
'sql': 'insert into v(vector, n1, n2, f, d, t) values (?, ?, ?, ?, ?, ?)',
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
# ---
# name: test_normal.4
OrderedDict({
'sql': 'insert into v(vector, n1, n2, f, d, t) values (?, ?, ?, ?, ?, ?)',
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
@ -340,28 +335,25 @@
OrderedDict({
'rowid': 1,
'vector': b'\x11\x11\x11\x11',
'n1': 1,
'n2': 1,
'f': 1.100000023841858,
'd': 1.1,
'b': 1,
'n': 1,
'f': 1.1,
't': 'one',
}),
OrderedDict({
'rowid': 2,
'vector': b'""""',
'n1': 2,
'n2': 2,
'f': 2.200000047683716,
'd': 2.2,
'b': 1,
'n': 2,
'f': 2.2,
't': 'two',
}),
OrderedDict({
'rowid': 3,
'vector': b'3333',
'n1': 3,
'n2': 3,
'f': 3.299999952316284,
'd': 3.3,
'b': 1,
'n': 3,
'f': 3.3,
't': 'three',
}),
]),
@ -385,7 +377,7 @@
'rows': list([
OrderedDict({
'rowid': 1,
'data': b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'data': b'\x07',
}),
]),
}),
@ -403,21 +395,12 @@
'rows': list([
OrderedDict({
'rowid': 1,
'data': b'\xcd\xcc\x8c?\xcd\xcc\x0c@33S@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'data': b'\x9a\x99\x99\x99\x99\x99\xf1?\x9a\x99\x99\x99\x99\x99\x01@ffffff\n@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
}),
]),
}),
'v_metadata_chunks03': OrderedDict({
'sql': 'select * from v_metadata_chunks03',
'rows': list([
OrderedDict({
'rowid': 1,
'data': b'\x9a\x99\x99\x99\x99\x99\xf1?\x9a\x99\x99\x99\x99\x99\x01@ffffff\n@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
}),
]),
}),
'v_metadata_chunks04': OrderedDict({
'sql': 'select * from v_metadata_chunks04',
'rows': list([
OrderedDict({
'rowid': 1,
@ -475,7 +458,7 @@
'name': 'v',
'tbl_name': 'v',
'rootpage': 0,
'sql': 'CREATE VIRTUAL TABLE v using vec0(vector float[1], n1 int, n2 int64, f float, d double, t text, chunk_size=8)',
'sql': 'CREATE VIRTUAL TABLE v using vec0(vector float[1], b boolean, n int, f float, t text, chunk_size=8)',
}),
OrderedDict({
'type': 'table',
@ -512,13 +495,6 @@
'rootpage': 13,
'sql': 'CREATE TABLE "v_metadata_chunks03"(rowid PRIMARY KEY, data BLOB NOT NULL)',
}),
OrderedDict({
'type': 'table',
'name': 'v_metadata_chunks04',
'tbl_name': 'v_metadata_chunks04',
'rootpage': 15,
'sql': 'CREATE TABLE "v_metadata_chunks04"(rowid PRIMARY KEY, data BLOB NOT NULL)',
}),
OrderedDict({
'type': 'table',
'name': 'v_rowids',
@ -719,19 +695,19 @@
'rows': list([
OrderedDict({
'rowid': 1,
'data': b'\x99\x00\x00\x00~\x01\x00\x005\x00\x00\x00\xd2\x00\x00\x00]\x00\x00\x00\xa7\x00\x00\x00\xe2\x01\x00\x00-\x01\x00\x00',
'data': b'\x99\x00\x00\x00\x00\x00\x00\x00~\x01\x00\x00\x00\x00\x00\x005\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00]\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\xe2\x01\x00\x00\x00\x00\x00\x00-\x01\x00\x00\x00\x00\x00\x00',
}),
OrderedDict({
'rowid': 2,
'data': b'\x86\x00\x00\x00B\x00\x00\x00X\x00\x00\x00;\x00\x00\x00\xa7\x01\x00\x00\x13\x01\x00\x00\xbf\x00\x00\x00:\x01\x00\x00',
'data': b'\x86\x00\x00\x00\x00\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00X\x00\x00\x00\x00\x00\x00\x00;\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x00\x00\x00\x00\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\xbf\x00\x00\x00\x00\x00\x00\x00:\x01\x00\x00\x00\x00\x00\x00',
}),
OrderedDict({
'rowid': 3,
'data': b'J\x00\x00\x00\xc9\x00\x00\x00\x8f\x01\x00\x00\xba\x00\x00\x00V\x01\x00\x00\xc3\x01\x00\x00\n\x02\x00\x00\x0f\x01\x00\x00',
'data': b'J\x00\x00\x00\x00\x00\x00\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x8f\x01\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00V\x01\x00\x00\x00\x00\x00\x00\xc3\x01\x00\x00\x00\x00\x00\x00\n\x02\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00',
}),
OrderedDict({
'rowid': 4,
'data': b'6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'data': b'6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
}),
]),
}),
@ -740,19 +716,19 @@
'rows': list([
OrderedDict({
'rowid': 1,
'data': b'33\x93@ff&@\x00\x00\xa0@ff\x86@\x9a\x99Y@ff\x96@\x9a\x999@\x00\x00\xa0@',
'data': b'ffffff\x12@\xcd\xcc\xcc\xcc\xcc\xcc\x04@\x00\x00\x00\x00\x00\x00\x14@\xcd\xcc\xcc\xcc\xcc\xcc\x10@333333\x0b@\xcd\xcc\xcc\xcc\xcc\xcc\x12@333333\x07@\x00\x00\x00\x00\x00\x00\x14@',
}),
OrderedDict({
'rowid': 2,
'data': b'33\x83@\xcd\xccL@\xcd\xcc\x9c@333@\x00\x00\x90@fff@\xcd\xcc\x8c@\x9a\x99\x89@',
'data': b'ffffff\x10@\x9a\x99\x99\x99\x99\x99\t@\x9a\x99\x99\x99\x99\x99\x13@ffffff\x06@\x00\x00\x00\x00\x00\x00\x12@\xcd\xcc\xcc\xcc\xcc\xcc\x0c@\x9a\x99\x99\x99\x99\x99\x11@333333\x11@',
}),
OrderedDict({
'rowid': 3,
'data': b'\x00\x00@@\x00\x00\xa0@\xcd\xcc,@\x9a\x99\x99@\x00\x00\x80@\xcd\xcc\x8c@33\x93@\x9a\x99\x89@',
'data': b'\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\x14@\x9a\x99\x99\x99\x99\x99\x05@333333\x13@\x00\x00\x00\x00\x00\x00\x10@\x9a\x99\x99\x99\x99\x99\x11@ffffff\x12@333333\x11@',
}),
OrderedDict({
'rowid': 4,
'data': b'\x9a\x99y@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
'data': b'333333\x0f@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',
}),
]),
}),
@ -987,7 +963,7 @@
'title': 'Dune',
'genre': 'scifi',
'num_reviews': 451,
'mean_rating': 4.400000095367432,
'mean_rating': 4.4,
'is_favorited': 1,
'distance': 6.5,
}),
@ -1112,22 +1088,22 @@
'rows': list([
OrderedDict({
'movie_id': 19,
'mean_rating': 2.700000047683716,
'mean_rating': 2.7,
'distance': 81.0,
}),
OrderedDict({
'movie_id': 12,
'mean_rating': 2.799999952316284,
'mean_rating': 2.8,
'distance': 88.0,
}),
OrderedDict({
'movie_id': 7,
'mean_rating': 2.9000000953674316,
'mean_rating': 2.9,
'distance': 93.0,
}),
OrderedDict({
'movie_id': 2,
'mean_rating': 2.5999999046325684,
'mean_rating': 2.6,
'distance': 98.0,
}),
]),
@ -1139,17 +1115,17 @@
'rows': list([
OrderedDict({
'movie_id': 24,
'mean_rating': 4.300000190734863,
'mean_rating': 4.3,
'distance': 76.0,
}),
OrderedDict({
'movie_id': 23,
'mean_rating': 4.599999904632568,
'mean_rating': 4.6,
'distance': 77.0,
}),
OrderedDict({
'movie_id': 22,
'mean_rating': 4.400000095367432,
'mean_rating': 4.4,
'distance': 78.0,
}),
OrderedDict({
@ -1159,7 +1135,7 @@
}),
OrderedDict({
'movie_id': 20,
'mean_rating': 4.800000190734863,
'mean_rating': 4.8,
'distance': 80.0,
}),
]),
@ -1172,3 +1148,36 @@
]),
})
# ---
# name: test_types[illegal-boolean]
dict({
'error': 'OperationalError',
'message': 'Expected 0 or 1 for BOOLEAN metadata column b',
})
# ---
# name: test_types[illegal-float]
OrderedDict({
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
# ---
# name: test_types[illegal-int]
dict({
'error': 'OperationalError',
'message': 'Expected integer for INTEGER metadata column n, received TEXT',
})
# ---
# name: test_types[illegal-text]
OrderedDict({
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
# ---
# name: test_types[legal]
OrderedDict({
'sql': 'insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)',
'rows': list([
]),
})
# ---

View file

@ -17,7 +17,7 @@ def test_constructor_limit(db, snapshot):
def test_normal(db, snapshot):
db.execute(
"create virtual table v using vec0(vector float[1], n1 int, n2 int64, f float, d double, t text, chunk_size=8)"
"create virtual table v using vec0(vector float[1], b boolean, n int, f float, t text, chunk_size=8)"
)
assert exec(
db, "select * from sqlite_master where type = 'table' order by name"
@ -25,12 +25,10 @@ def test_normal(db, snapshot):
assert vec0_shadow_table_contents(db, "v") == snapshot()
INSERT = "insert into v(vector, n1, n2, f, d, t) values (?, ?, ?, ?, ?, ?)"
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 1, 1.1, 1.1, "one"]) == snapshot()
assert exec(db, INSERT, [b"\x22\x22\x22\x22", 2, 2, 2.2, 2.2, "two"]) == snapshot()
assert (
exec(db, INSERT, [b"\x33\x33\x33\x33", 3, 3, 3.3, 3.3, "three"]) == snapshot()
)
INSERT = "insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)"
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 1, 1.1, "one"]) == snapshot()
assert exec(db, INSERT, [b"\x22\x22\x22\x22", 1, 2, 2.2, "two"]) == snapshot()
assert exec(db, INSERT, [b"\x33\x33\x33\x33", 1, 3, 3.3, "three"]) == snapshot()
assert exec(db, "select * from v") == snapshot()
assert vec0_shadow_table_contents(db, "v") == snapshot()
@ -47,7 +45,21 @@ def test_normal(db, snapshot):
def test_types(db, snapshot):
pass
db.execute(
"create virtual table v using vec0(vector float[1], b boolean, n int, f float, t text, chunk_size=8)"
)
INSERT = "insert into v(vector, b, n, f, t) values (?, ?, ?, ?, ?)"
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 1, 1.1, "test"]) == snapshot(
name="legal"
)
# fmt: off
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 'illegal', 1, 1.1, 'test']) == snapshot(name="illegal-boolean")
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 'illegal', 1.1, 'test']) == snapshot(name="illegal-int")
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 1, 'illegal', 'test']) == snapshot(name="illegal-float")
assert exec(db, INSERT, [b"\x11\x11\x11\x11", 1, 1, 1.1, 420]) == snapshot(name="illegal-text")
# fmt: on
def test_updates(db, snapshot):