مشكلة مجموع التحقق في وضع WAL في SQLite: فقدان البيانات الصامت
2025-07-25
تتناول هذه المشاركة عيبًا في آلية مجموع التحقق في SQLite في وضع تسجيل الكتابة المسبقة (WAL). عندما يحدث عدم تطابق في مجموع التحقق في إطار WAL، يقوم SQLite بإسقاط الإطار المعيب وجميع الأطر اللاحقة بصمت، حتى لو لم تكن تالفة. هذا التصميم، على الرغم من أنه متعمد، يؤدي إلى فقدان محتمل للبيانات. يحلل المؤلف الأسباب الكامنة و يقترح أن يقوم SQLite بإصدار خطأ عند اكتشاف التلف بدلاً من إسقاط البيانات بصمت، مما يحسن من سلامة البيانات. تناقش المناقشة أيضًا سياق استخدام SQLite في الأنظمة المضمنة والأجهزة المحمولة، حيث يكون التلف أكثر شيوعًا.
(avi.im)
التطوير