الإفراج عن ، نظام إدارة قواعد بيانات (DBMS) خفيف الوزن مصمم كمكتبة إضافية. يتم توزيع كود SQLite كمجال عام، أي. ويمكن استخدامها دون قيود ومجانية لأي غرض من الأغراض. يتم توفير الدعم المالي لمطوري SQLite من خلال اتحاد تم إنشاؤه خصيصًا، والذي يضم شركات مثل Adobe وOracle وMozilla وBentley وBloomberg.
رئيسي :
- دعم إضافي (الأعمدة المحسوبة)، والتي تسمح لك بتعريف عمود عند إنشاء جدول يتم حساب قيمته تلقائيًا بناءً على محتويات عمود آخر. يمكن أن تكون الأعمدة التي تم إنشاؤها إما افتراضية (يتم إنشاؤها بسرعة مع كل وصول) أو مخزنة في قاعدة البيانات (يتم حفظها في كل مرة يتم فيها تحديث الأعمدة ذات الصلة). تتوفر محتويات الأعمدة التي تم إنشاؤها فقط في وضع القراءة (يتم إجراء التغييرات فقط من خلال تعديل القيمة في عمود آخر مشترك في الحساب). على سبيل المثال:
إنشاء جدول t1(
مفتاح أساسي عدد صحيح،
ب إنت،
ج النص،
d يتم إنشاء INT دائمًا كـ (a*abs(b)) افتراضيًا،
يتم إنشاء النص دائمًا كـ (substr(c,b,b+1)) مخزّن
); - تمت إضافة براغما ، جلسة وخيار التجميع "-DSQLITE_TRUSTED_SCHEMA"، والذي يسمح لك بالتحكم في إدراج الحماية ضد من خلال تعديل مخطط البيانات في قاعدة البيانات. تقيد الحماية النشطة استخدام وظائف SQL (غير المميزة بـ SQLITE_INNOCUOUS) في المشغلات وطرق العرض وعبارات التحقق والافتراضي والفهارس والأعمدة التي تم إنشاؤها. يتم أيضًا تعطيل استخدام الجداول الافتراضية في المشغلات وطرق العرض ما لم يتم الإعلان عن الجدول الظاهري بشكل صريح باستخدام علامة SQLITE_VTAB_INNOCUOUS.
- تم تنفيذ القدرة على تعيين خصائص لوظائف SQL المحددة في التطبيقات (الوظائف غير الضارة التي لا تعتمد على معلمات خارجية ولا يمكن استخدامها لتنفيذ إجراءات ضارة) و (استدعاء مباشر فقط في استعلامات SQL، دون إمكانية استخدامه في المشغلات وطرق العرض ومخططات بنية البيانات)؛
- الوحدة المضافة مع تنفيذ وظائف معالجة UUID (RFC-4122)؛
- تمت إضافة براغما وظيفة للتحكم في الحد الأقصى لحجم الكومة؛
- في براغما إضافة مخرجات النوع والخصائص وعدد الوسائط لكل وظيفة؛
- إلى الجدول الظاهري DBSTAT وضع تجميع البيانات؛
- تطبق sqlite3_open_v2() خيار SQLITE_OPEN_NOFOLLOW، والذي يسمح لك بتعطيل فتح الروابط الرمزية؛
- للحجة وتم تمريرها إلى وظائف JSON، وإضافة دعم لتدوين الصفيف "#-N"؛
- في نظام توزيع الذاكرة تم تنفيذ الدعم لمجموعتي ذاكرة منفصلتين، يمكن استخدام كل منهما لتخصيص كتل بأحجام مختلفة (يسمح لك الفصل بتوسيع استخدام نظام lookaside، مع تقليل حجم المخزن المؤقت المخصص لكل اتصال من 120 إلى 48 كيلو بايت)؛
- تم إيقاف دعم PRAGMA ، والذي كان غير متوافق مع VACUUM، والأعمدة التي تم إنشاؤها، والفهارس التنازلية (يمكن إرجاع دعم التنسيق القديم عبر علامة SQLITE_DBCONFIG_LEGACY_FILE_FORMAT في sqlite3_db_config()).
المصدر: opennet.ru
