diff --git a/libsql/Cargo.toml b/libsql/Cargo.toml index a744802b10..de96f759c3 100644 --- a/libsql/Cargo.toml +++ b/libsql/Cargo.toml @@ -99,6 +99,8 @@ sync = [ "parser", "serde", "stream", + "remote", + "replication", "dep:tower", "dep:hyper", "dep:http", diff --git a/libsql/src/database.rs b/libsql/src/database.rs index 095491e7fa..5e0fa328eb 100644 --- a/libsql/src/database.rs +++ b/libsql/src/database.rs @@ -8,11 +8,8 @@ pub use builder::Builder; pub use libsql_sys::{Cipher, EncryptionConfig}; use crate::{Connection, Result}; -use std::{ - fmt, - sync::{atomic::AtomicU64, Arc}, -}; -use tokio::sync::Mutex; +use std::fmt; +use std::sync::atomic::AtomicU64; cfg_core! { bitflags::bitflags! { @@ -126,7 +123,7 @@ pub struct Database { db_type: DbType, /// The maximum replication index returned from a write performed using any connection created using this Database object. #[allow(dead_code)] - max_write_replication_index: Arc, + max_write_replication_index: std::sync::Arc, } cfg_core! { @@ -551,7 +548,7 @@ impl Database { let conn = db.connect()?; - let conn = Arc::new(LibsqlConnection { conn }); + let conn = std::sync::Arc::new(LibsqlConnection { conn }); Ok(Connection { conn }) } @@ -599,7 +596,7 @@ impl Database { } } - let conn = Arc::new(LibsqlConnection { conn }); + let conn = std::sync::Arc::new(LibsqlConnection { conn }); Ok(Connection { conn }) } @@ -645,7 +642,7 @@ impl Database { writer, self.max_write_replication_index.clone(), ); - let conn = Arc::new(remote); + let conn = std::sync::Arc::new(remote); Ok(Connection { conn }) } @@ -665,6 +662,7 @@ impl Database { replication::connection::State, sync::connection::SyncedConnection, }; + use tokio::sync::Mutex; let local = db.connect()?; @@ -678,14 +676,14 @@ impl Database { ), read_your_writes: *read_your_writes, context: db.sync_ctx.clone().unwrap(), - state: Arc::new(Mutex::new(State::Init)), + state: std::sync::Arc::new(Mutex::new(State::Init)), }; - let conn = Arc::new(synced); + let conn = std::sync::Arc::new(synced); return Ok(Connection { conn }); } - let conn = Arc::new(LibsqlConnection { conn: local }); + let conn = std::sync::Arc::new(LibsqlConnection { conn: local }); Ok(Connection { conn }) } @@ -696,7 +694,7 @@ impl Database { connector, version, } => { - let conn = Arc::new( + let conn = std::sync::Arc::new( crate::hrana::connection::HttpConnection::new_with_connector( url, auth_token, diff --git a/libsql/src/local/database.rs b/libsql/src/local/database.rs index 7cbaa5cf42..3b157e715d 100644 --- a/libsql/src/local/database.rs +++ b/libsql/src/local/database.rs @@ -1,4 +1,4 @@ -use std::sync::{Arc, Once}; +use std::sync::Once; cfg_replication!( use http::uri::InvalidUri; @@ -21,6 +21,7 @@ cfg_replication!( cfg_sync! { use crate::sync::SyncContext; use tokio::sync::Mutex; + use std::sync::Arc; } use crate::{database::OpenFlags, local::connection::Connection, Error::ConnectionFailed, Result};