الخلاصة في دقيقة
- أصلح SQLite 3.51.3، الصادر في 13 مارس 2026، خلل WAL-reset.
- تتطلب الحالة الموصوفة اتصالات متزامنة بقاعدة في وضع WAL وتوقيتا ضيقا غير معتاد.
- المكتبة المضمنة داخل تطبيق قد تختلف عن نسخة أداة SQLite المثبتة في النظام.
ما الذي وثقه المشروع؟
وثق مشروع SQLite إصلاح خلل سماه WAL-reset في الإصدار 3.51.3 بتاريخ 13 مارس 2026. يرتبط الخلل بوضع تسجيل الكتابة المسبق WAL، وقد يؤدي في حالات نادرة إلى تلف البيانات عند تزامن الكتابة أو تنفيذ نقاط التحقق عبر أكثر من اتصال. يصف المشروع شروط توقيت ضيقة ونمط استخدام غير معتاد، ولا يقدمه باعتباره مشكلة تظهر في كل قاعدة.
يشير التوثيق إلى أن الإصلاح موجود في 3.51.3 وما بعدها، مع نسخ خلفية لبعض الفروع الأقدم. ويشرح أيضا أن WAL يسمح بتزامن القراءة مع الكتابة، مع بقاء كاتب واحد في الوقت نفسه. هذا يوضح لماذا لا تكفي عبارة يستخدم SQLite لتحديد التعرض؛ وضع التشغيل وعدد الاتصالات ونسخة المكتبة عناصر أساسية.
قراءة فكرة بوست: افحص ما يشغله التطبيق
قد يرى المطور نسخة حديثة عند تشغيل أداة في الطرفية، بينما يعتمد التطبيق على مكتبة مدمجة داخل حزمة أخرى. لذلك نقترح أن يكون التحقق من داخل مسار التطبيق نفسه، ثم توثيق اسم الحزمة التي توفر المكتبة وكيف تصل تحديثاتها. هذه الخطوة تمنع الاطمئنان إلى تحديث لا تستخدمه الخدمة فعليا.
قبل أي تغيير في قاعدة مستخدمة، ضع خطة استعادة قابلة للتنفيذ واختبرها على نسخة مناسبة. وجود ملف يسمى نسخة احتياطية لا يثبت أنه يحتوي على الحالة المطلوبة أو أنه يمكن استعادته. في تجربة منفصلة، تحقق من فتح القاعدة وقراءة البيانات التي تحتاج إليها، ثم اختبر المسار المعتاد للكتابة تحت الإعدادات الفعلية.
لا تحذف ملفات WAL عشوائيا
ينبه توثيق SQLite إلى أن ملف WAL جزء من الحالة المستديمة للقاعدة، وأن فصله عنها قد يفقد معاملات أو يسبب تلفا. لذلك لا ينبغي اعتبار حذف الملف علاجا عاما لمشكلة الحجم أو الأداء. الأفضل فهم الاتصالات المفتوحة ونقاط التحقق وأداة النسخ الاحتياطي المستخدمة. هذا المقال يشرح إصلاحا سابقا ودروسه التشغيلية؛ لا يقرر أن قاعدة بيانات بعينها تعرضت للتلف، ولا يغني عن فحص النسخة والإعدادات وسجلات التطبيق عند التحقيق في مشكلة حقيقية.
المصادر والمراجع
- SQLite: release 3.51.3 ↗تاريخ المصدر: 2026-03-13
- SQLite: Write-Ahead Logging and WAL-reset bug ↗
تُنسب بيانات المنتجات والنتائج المعلنة إلى أصحابها؛ ليست اختباراً مستقلاً من فكرة بوست.



