You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, i got an error at bulkPut(). Tried googling it, didn't help. What does it mean?
await table.bulkPut(entities).catch(Dexie.BulkError, function (e: BulkError) {
// bulkPut(): 160 of 264 operations failed.
// Errors: UnknownError: Attempt to delete range from database without an in-progress transaction
});
The text was updated successfully, but these errors were encountered:
If it only happens in Ionic on iOS, it might be the webkit engine (Safari) that causes it. I assume that the "in-progress transaction" is somehow lost randomly. Maybe it is triggered when application is put in the background.
In any case, it would be interesting to make a change in dexie that generically catches UnknownError on operations and retries them with a fresh transaction, like we did in PR #1398 to work around the issue with Chrome failing sporadically on creating transactions. Hopefully redoing transaction creation is enough to heal the issue in the background when this happens. If that isn't enough we could also repoen the database and redo the operation. No matter if it is a transactionless operation or an operation within a transaction, we can always retry the transaction since dexie uses a callback for the execution of a transaction block. Even if DB needs to reopen the transaction block can be replayed after reopening the db.
Hello, i got an error at bulkPut(). Tried googling it, didn't help. What does it mean?
The text was updated successfully, but these errors were encountered: