Skip to content

Commit 17f5739

Browse files
committed
WIP: Handle database locked error when executing pragma statements
1 parent 785e960 commit 17f5739

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

packages/powersync-op-sqlite/src/db/OPSqliteAdapter.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,12 @@ export class OPSQLiteDBAdapter extends BaseObserver<DBAdapterListener> implement
7272
try {
7373
await DB.execute(statement);
7474
break;
75-
} catch (e) {
76-
//TODO better error handling for SQLITE_BUSY(5)
77-
console.error('Error executing pragma statement', statement, e);
78-
// if (e.errorCode === 5 && tries < 29) {
79-
// continue;
80-
// } else {
81-
// throw e;
82-
// }
75+
} catch (e: any) {
76+
if (e instanceof Error && e.message.includes('database is locked') && tries < 29) {
77+
continue;
78+
} else {
79+
throw e;
80+
}
8381
}
8482
}
8583
}

0 commit comments

Comments
 (0)