Skip to content

Commit f7a9ecc

Browse files
committed
fixup! test add
1 parent 608af61 commit f7a9ecc

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

test/parallel/test-sqlite.js

+45
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Flags: --experimental-sqlite
22
'use strict';
33
const { spawnPromisified } = require('../common');
4+
const assert = require('node:assert');
45
const tmpdir = require('../common/tmpdir');
56
const { existsSync } = require('node:fs');
67
const { join } = require('node:path');
@@ -161,6 +162,50 @@ suite('DatabaseSync.prototype.loadExtension()', () => {
161162
const ext = getExtension(platform, arch);
162163
const filePath = path('sqlite', `vec0${ext}`);
163164
t.assert.strictEqual(db.loadExtension(filePath), undefined);
165+
166+
const { vec_version } = db.prepare(
167+
'select vec_version() as vec_version;'
168+
).get();
169+
assert.strictEqual(vec_version, 'v0.1.1');
170+
171+
const items = [
172+
[1, [0.1, 0.1, 0.1, 0.1]],
173+
[2, [0.2, 0.2, 0.2, 0.2]],
174+
[3, [0.3, 0.3, 0.3, 0.3]],
175+
[4, [0.4, 0.4, 0.4, 0.4]],
176+
[5, [0.5, 0.5, 0.5, 0.5]],
177+
];
178+
const query = [0.3, 0.3, 0.3, 0.3];
179+
180+
db.exec('CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[4])');
181+
182+
const insertStmt = db.prepare(
183+
'INSERT INTO vec_items(rowid, embedding) VALUES (?, ?)'
184+
);
185+
186+
for (const [id, vector] of items) {
187+
const rowId = BigInt(id);
188+
const embedding = new Uint8Array(Float32Array.from(vector).buffer);
189+
insertStmt.run(rowId, embedding);
190+
}
191+
192+
const rows = db.prepare(
193+
`
194+
SELECT
195+
rowid,
196+
distance
197+
FROM vec_items
198+
WHERE embedding MATCH ?
199+
ORDER BY distance
200+
LIMIT 3
201+
`
202+
).all(new Uint8Array(Float32Array.from(query).buffer));
203+
204+
assert.deepStrictEqual(rows, [
205+
{ rowid: 3, distance: 0 },
206+
{ rowid: 4, distance: 0.19999998807907104 },
207+
{ rowid: 2, distance: 0.20000001788139343 },
208+
]);
164209
});
165210
});
166211

0 commit comments

Comments
 (0)