Warning database has been locked for 0:00:10.000000. Make sure you always use the transaction object for database operations during a transaction.
I received this error while showing data in screen. And it takes too long so I have to reduce time.
In Futurebuilder I called method like this :
future: Provider.of<AllMethodCallProvider>(context,listen: false).sendAllOfflineData(context, accessToken).
then((value) {Provider.of<StowDetailProvider>(context, listen: false).searchPOItem(accessToken:accessToken,po_id: widget.po_id!,selectedSiteId: widget.siteId!,poNumber:widget.searchPOText!, searchVendorPartNumber:widget.vendorPartName!,vendorName:widget.vendorName!,itemStatus:widget.item_status!,
context: context).then((value) {
Provider.of<StowDetailProvider>(context,listen: false).isSubmitted = false;
});
}),
I used for -loop to add API data in list. I tried await batch.commit(); but am not getting expected output.
Its deadlock occurred in the database required. You need to check if any require are atomic. Use transaction to make sure your requires are atomic.
And not only deadlock occurs in the required syntax. maybe our of you use of the database requirements is not suitable and could occur a deadlock. Check all of your requirements are not at the same time, if necessary use transactions to make sure are atomic.