Skip to content

Commit ee19ea0

Browse files
authored
Improve error recovery in sync client (#218)
1 parent 60ebb70 commit ee19ea0

5 files changed

Lines changed: 232 additions & 322 deletions

File tree

Cargo.lock

Lines changed: 0 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/core/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ num-derive = "0.3"
2323
serde_json = { version = "1.0", default-features = false, features = ["alloc", "raw_value"] }
2424
serde = { version = "1.0", default-features = false, features = ["alloc", "derive", "rc"] }
2525
const_format = "0.2.34"
26-
futures-lite = { version = "2.6.0", default-features = false, features = ["alloc"] }
2726
rustc-hash = { version = "2.1", default-features = false }
2827
thiserror = { version = "2", default-features = false }
2928
serde_with = { version = "3.14.0", default-features = false, features = ["alloc", "macros"] }

crates/core/src/error.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ use alloc::{
1010
ffi::{CString, NulError},
1111
string::{String, ToString},
1212
};
13-
use num_traits::FromPrimitive;
1413
use powersync_sqlite_nostd::{self as sqlite, Connection, Context, ResultCode, context, sqlite3};
1514
use thiserror::Error;
1615

@@ -152,20 +151,6 @@ impl PowerSyncError {
152151
}
153152
}
154153

155-
pub fn can_retry(&self) -> bool {
156-
match self.inner.as_ref() {
157-
RawPowerSyncError::Sqlite(cause) => {
158-
let base_error = ResultCode::from_i32((cause.code as i32) & 0xFF);
159-
if base_error == Some(ResultCode::BUSY) || base_error == Some(ResultCode::LOCKED) {
160-
true
161-
} else {
162-
false
163-
}
164-
}
165-
_ => false,
166-
}
167-
}
168-
169154
pub fn check_sqlite3_version() -> Result<()> {
170155
let actual_version = sqlite::libversion_number();
171156

0 commit comments

Comments
 (0)