عن المشروع

Frigolite هو إعادة تنفيذ من الصفر لمحرك قاعدة بيانات SQLite بلغة Go، ومُصمم لتوفير تنسيقات ملفات متوافقة مع SQLite دون الحاجة إلى CGO، أو الاعتماد على مكتبات خارجية، أو استخدام أداة سطر أوامر sqlite3. وهو بمثابة حل خفيف الوزن ومستقل ذاتيًا لقواعد بيانات SQL لتطبيقات Go. الميزات الأساسية تشمل: - **تنفيذ كامل بلغة Go**: لا يوجد اعتماد على مكتبات خارجية ولا استخدام CGO، مما يضمن سهولة التكامل والقدرة على النقل. - **التوافق مع SQLite**: يقرأ ويكتب ملفات `.db` القياسية، ويدعم مجموعة مفيدة من أوامر SQL بما في ذلك `CREATE`، و`INSERT`، و`SELECT` (مع الـ joins، والاستعلامات الفرعية، والـ aggregations)، و`UPDATE`، و`DELETE`. - **دعم واسع للنصوص البرمجية**: يشمل أكثر من 60 دالة SQL مثل معالجة النصوص، والعمليات الرقمية، والمنطق الشرطي، وأدوات الضغط. - **ميزات متقدمة**: يدعم الجداول الافتراضية (مثل `generate_series`)، وأكثر من 25 أمر PRAGMA، وEXPLAIN/EXPLAIN QUERY PLAN لتصحيح الأخطاء. - **واجهات مرنة**: يوفر واجهة برمجة تطبيقات أصلية لـ Go بالإضافة إلى مشغل قياسي لـ `database/sql`، مما يسمح للمطورين باستخدام المسح المكتوب، ومُحلمات الأماكن، والعبارات المُعدة. - **واجهة سطر أوامر**: يشمل واجهة تفاعلية لسطر الأوامر لإدارة قاعدة البيانات مباشرة. - **اختبار قوي**: مدعوم بـ 842 اختبارًا، بما في ذلك اختبارات التوافق مع SQLite المحولة تلقائيًا، مما يضمن الموثوقية. هندسة Frigolite معيارية، مع حزم منفصلة للتخزين، وpager، وB-tree، وتحليل SQL، والتنفيذ. وهو يلتزم بمبادئ SOLID وأساليب Go، مما يجعله بديلًا قابلًا للصيانة وفعالًا للمشاريع التي تحتاج إلى وظائف SQLite دون عبء ربط C.