我有一個長時間運行的應用程序,用C和C++的混合編寫,它在sqlite中存儲數據。雖然我確信承諾的數據將保持可用(禁止機械故障)並且未提交的數據將不會被使用,但我不清楚在這種中間狀態下我能做些什麼。我應該如何處理sqlite錯誤?
我在事務中做了大量的插入操作,然後提交它。當給定語句發生錯誤時,我可以安排它在將來的某個時間點嘗試。這聽起來像一些錯誤可能會隱式回滾我的交易(如果屬實,這將是不受歡迎的)。
更大的問題是當我的提交失敗時會發生什麼。目前,我只是繼續重試它,直到它工作。我希望無論什麼會導致我的提交失敗也可能導致回滾失敗。
在這種情況下,錯誤處理的推薦機制是什麼?
這聽起來非常接近我在找的東西。如果回滾本身失敗,我該怎麼辦? – Dustin 2010-05-17 06:27:46