pub struct TursoDatabaseConfig {
pub path: String,
pub experimental_features: Option<String>,
pub async_io: bool,
pub encryption: Option<EncryptionOpts>,
pub vfs: Option<String>,
pub io: Option<Arc<dyn IO>>,
pub db_file: Option<Arc<dyn DatabaseStorage>>,
}Fields§
§path: Stringpath to the database file or “:memory:” for in-memory connection
experimental_features: Option<String>comma-separated list of experimental features to enable this field is intentionally just a string in order to make enablement of experimental features as flexible as possible
async_io: boolif true, library methods will return Io status code and delegate Io loop to the caller if false, library will spin IO itself in case of Io status code and never return it to the caller
encryption: Option<EncryptionOpts>optional encryption parameters for local data encryption as encryption is experimental - Self::experimental_features must have “encryption” in the list
vfs: Option<String>optional VFS parameter explicitly specifying FS backend for the database. Available options are:
- “memory”: in-memory backend
- “syscall”: generic syscall backend
- “io_uring”: IO uring (supported only on Linux)
io: Option<Arc<dyn IO>>optional custom IO provided by the caller
db_file: Option<Arc<dyn DatabaseStorage>>optional custom DatabaseStorage provided by the caller if provided, caller must guarantee that IO used by the TursoDatabase will be consistent with underlying DatabaseStorage IO
Implementations§
Source§impl TursoDatabaseConfig
impl TursoDatabaseConfig
Sourcepub fn database_opts(&self) -> DatabaseOpts
pub fn database_opts(&self) -> DatabaseOpts
Build the typed turso_core::DatabaseOpts from the comma-separated
Self::experimental_features string. The feature-name tokens are the
SDK/CLI-facing names; unknown names are ignored and "strict" is a
no-op (strict tables are always enabled). This keeps the
string -> typed-options translation in the SDK layer where the string
representation lives, instead of in turso_core.
Source§impl TursoDatabaseConfig
impl TursoDatabaseConfig
Sourcepub unsafe fn from_capi(
config: *const turso_database_config_t,
) -> Result<Self, TursoError>
pub unsafe fn from_capi( config: *const turso_database_config_t, ) -> Result<Self, TursoError>
helper method to restore TursoSetupConfig instance from C representation this method is used in the capi wrappers
§Safety
c::turso_database_config_t::path field must be valid C-string pointer c::turso_database_config_t::experimental_features field must be valid C-string pointer or null
Trait Implementations§
Source§impl Clone for TursoDatabaseConfig
impl Clone for TursoDatabaseConfig
Source§fn clone(&self) -> TursoDatabaseConfig
fn clone(&self) -> TursoDatabaseConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TursoDatabaseConfig
impl !UnwindSafe for TursoDatabaseConfig
impl Freeze for TursoDatabaseConfig
impl Send for TursoDatabaseConfig
impl Sync for TursoDatabaseConfig
impl Unpin for TursoDatabaseConfig
impl UnsafeUnpin for TursoDatabaseConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more