Newer
Older
TelosDB / scripts / test_load.rs
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),
                }
            }
        }
    }
}