Start go/rust bindings

This commit is contained in:
Alex Garcia 2024-05-10 20:51:27 -07:00
parent a2c207347e
commit 2572aa1413
7 changed files with 262 additions and 0 deletions

26
bindings/rust/src/lib.rs Normal file
View file

@ -0,0 +1,26 @@
#[link(name = "sqlite_vec0")]
extern "C" {
pub fn sqlite3_vec_init();
}
#[cfg(test)]
mod tests {
use super::*;
use rusqlite::{ffi::sqlite3_auto_extension, Connection};
#[test]
fn test_rusqlite_auto_extension() {
unsafe {
sqlite3_auto_extension(Some(std::mem::transmute(sqlite3_vec_init as *const ())));
}
let conn = Connection::open_in_memory().unwrap();
let result: String = conn
.query_row("select vec_version()", [], |x| x.get(0))
.unwrap();
assert!(result.starts_with("v"));
}
}