added sqlite-vec extension

This commit is contained in:
Fabian Freund
2025-01-17 14:29:46 +01:00
parent 8c14b1f91e
commit ff15c460db
57 changed files with 1758 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
import 'dart:ffi';
import 'dart:io';
import 'package:sqlite3/sqlite3.dart';
const String _libName = 'vec0';
class Sqlite3Vec {
static void ensureExtensionLoaded() {
final libPath = switch (Platform.operatingSystem) {
//'macos' || 'ios' => DynamicLibrary.open('$_libName.framework/$_libName'),
'android' || 'linux' => DynamicLibrary.open('lib$_libName.so'),
//'windows' => DynamicLibrary.open('$_libName.dll'),
_ => throw UnsupportedError(
'Unsupported platform: ${Platform.operatingSystem}',
),
};
sqlite3.ensureExtensionLoaded(
SqliteExtension.inLibrary(libPath, 'sqlite3_vec_init'),
);
}
}