We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 41b2f82 commit ec0dcd2Copy full SHA for ec0dcd2
core/src/services/sqlite/backend.rs
@@ -308,5 +308,20 @@ impl kv::Adapter for Adapter {
308
}
309
310
fn parse_sqlite_error(err: sqlx::Error) -> Error {
311
- Error::new(ErrorKind::Unexpected, "unhandled error from sqlite").set_source(err)
+ let is_temporary = matches!(
312
+ &err,
313
+ sqlx::Error::Database(db_err) if db_err.code().is_some_and(|c| c == "5" || c == "6")
314
+ );
315
+
316
+ let message = if is_temporary {
317
+ "database is locked or busy"
318
+ } else {
319
+ "unhandled error from sqlite"
320
+ };
321
322
+ let mut error = Error::new(ErrorKind::Unexpected, message).set_source(err);
323
+ if is_temporary {
324
+ error = error.set_temporary();
325
+ }
326
+ error
327
0 commit comments