use rusqlite::{Connection, LoadExtensionGuard};
use std::path::Path;
fn main() {
let dll_path = "vector.dll";
println!("Testing with DLL: {}", dll_path);
let conn = Connection::open_in_memory().expect("Failed to open DB");
unsafe {
conn.load_extension_enable().expect("Failed to enable load_extension");
println!("load_extension enabled");
match conn.load_extension(dll_path, Some("sqlite3_vector_init")) {
Ok(_) => println!("✅ Success!"),
Err(e) => {
println!("❌ Failed: {}", e);
// Try without entry point
match conn.load_extension(dll_path, None::<&str>) {
Ok(_) => println!("✅ Success (auto entry point)!"),
Err(e2) => println!("❌ Failed (auto entry point): {}", e2),
}
}
}
}
}