Objectbox:ObjectBoxException 10101删除失败



我在删除事务中的多个框数据时收到上述错误。我需要知道这是什么原因,以及可以做些什么来避免这种情况。非常感谢你的帮助。

堆栈跟踪如下所述。

非致命异常:FlutterError 0
0x0 ObjectBoxNativeError.throwMapped+78(helpers.dart:78(1
0x0(null(.sthrowLatestNativeError+50(helpers.dart:50(2
0x0(null(.checkObx+17(helpers.dart:17(3
0x0 Box.removeMany.+329(Box.dart:329(4
0x0(null(.executeWithIdArray+188(helpers.dart:188(5
0x0 Box.removeMany+328(Box.dart:328(6
0x0 BoxTransaction.deleteRouteDataonRouteRestoreFailure。+135(交易。dart:135(7???0x0Store.runInTransaction.+468(Store.dart:468(8
0x0存储_runInTransaction+643(store.dart:643(9
0x0 Store.runInTransaction+468(Store.dart:468(10
0x0 BoxTransaction.deleteRouteDataonRouteRestoreFailure+134(交易。dart:134(11???0x0删除路由数据删除数据粘贴窗口+189(route_delete.dart:189(12???0x0SplashScreenPresenter_deleteDataPastWindow+322(splash_screen_prepreser.dart:322(13
0x0 SplashScreenPresenter.handleAppStart+81(splash_screen_presenter.dart:81(

可再现代码

store.runInTransaction(TxMode.write, () {
store.box<Type1>.removeMany(ids1);
store.box<Type2>.removeMany(ids2);
.... 10 more tables

});

此错误代码(10101(表示数据库已满。

作为一种临时的解决方法,您可以尝试重新编写代码,以不在事务中包装移除调用(或在事务中少包装移除调用(。这将需要更少的存储空间,因此它可能会利用数据库中的剩余空间成功。

store.box<Type1>.removeMany(ids1);
store.box<Type2>.removeMany(ids2);
.... 10 more tables

最新更新