rusqlite/examples/load_extension.rs

24 lines
630 B
Rust
Raw Normal View History

2024-08-10 15:27:19 +02:00
//! Ensure `loadable_extension.rs` works.
2023-07-14 11:07:59 +02:00
use rusqlite::{Connection, Result};
2024-01-01 13:12:33 +01:00
use std::env::consts::{DLL_PREFIX, DLL_SUFFIX};
2023-07-14 11:07:59 +02:00
fn main() -> Result<()> {
let db = Connection::open_in_memory()?;
unsafe {
db.load_extension_enable()?;
2024-01-01 13:12:33 +01:00
db.load_extension(
2024-08-10 14:53:25 +02:00
format!("target/debug/examples/{DLL_PREFIX}loadable_extension{DLL_SUFFIX}"),
2024-01-01 13:12:33 +01:00
None,
)?;
2023-07-14 11:07:59 +02:00
db.load_extension_disable()?;
}
let str = db.query_row("SELECT rusqlite_test_function()", [], |row| {
row.get::<_, String>(0)
})?;
assert_eq!(&str, "Rusqlite extension loaded correctly!");
Ok(())
}