bindings/rust: Add feature flag to enable indexes

This commit is contained in:
Pekka Enberg
2025-06-30 12:36:20 +03:00
parent b87ce6d178
commit a84a755cf7
2 changed files with 15 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ description = "Turso Rust API"
[features]
default = []
experimental_indexes = []
antithesis = ["turso_core/antithesis"]
[dependencies]

View File

@@ -83,18 +83,30 @@ impl Builder {
match self.path.as_str() {
":memory:" => {
let io: Arc<dyn turso_core::IO> = Arc::new(turso_core::MemoryIO::new());
let db = turso_core::Database::open_file(io, self.path.as_str(), false, false)?;
let db = turso_core::Database::open_file(
io,
self.path.as_str(),
false,
indexes_enabled(),
)?;
Ok(Database { inner: db })
}
path => {
let io: Arc<dyn turso_core::IO> = Arc::new(turso_core::PlatformIO::new()?);
let db = turso_core::Database::open_file(io, path, false, false)?;
let db = turso_core::Database::open_file(io, path, false, indexes_enabled())?;
Ok(Database { inner: db })
}
}
}
}
fn indexes_enabled() -> bool {
#[cfg(feature = "experimental_indexes")]
return true;
#[cfg(not(feature = "experimental_indexes"))]
return false;
}
/// A database.
///
/// The `Database` object points to a database and allows you to connect to it