SQLite 3.40 versiyasi

Plagin kutubxonasi sifatida yaratilgan engil ma'lumotlar bazasi bo'lgan SQLite 3.40 versiyasi nashr etildi. SQLite kodi ommaviy domenda tarqatiladi, ya'ni. har qanday maqsadda cheklovlarsiz va bepul foydalanish mumkin. SQLite ishlab chiquvchilari uchun moliyaviy yordam Adobe, Oracle, Mozilla, Bentley va Bloomberg kabi kompaniyalarni o'z ichiga olgan maxsus yaratilgan konsorsium tomonidan amalga oshiriladi.

Asosiy o'zgarishlar:

  • SQLite-ni veb-brauzerda ishlay oladigan va JavaScript tilida veb-ilovalardan ma'lumotlar bazasi bilan ishlashni tashkil qilish uchun mos bo'lgan oraliq WebAssembly kodiga kompilyatsiya qilishning eksperimental qobiliyati amalga oshirildi. Veb-ishlab chiquvchilarga sql.js yoki Node.js uslubidagi ma'lumotlar bilan ishlash uchun yuqori darajadagi ob'ektga yo'naltirilgan interfeys, past darajadagi C API va sizga imkon beruvchi Web Worker mexanizmiga asoslangan API taqdim etiladi. alohida ish zarrachalarida ishlaydigan asinxron ishlov beruvchilarni yaratish. Veb-ilovalar SQLite ning WASM versiyasida saqlaydigan ma'lumotlar mijoz tomonida OPFS (Origin-Private FileSystem) yoki window.localStorage API yordamida saqlanishi mumkin.
  • Ma'lumotlar bazasidan shikastlangan fayllardan ma'lumotlarni qayta tiklash uchun mo'ljallangan tiklash kengaytmasi qo'shildi. Qayta tiklash uchun buyruq qatori interfeysi ".recover" buyrug'idan foydalanadi.
  • So'rovlarni rejalashtiruvchining ishlashi yaxshilandi. 63 dan ortiq ustunli jadvalli indekslardan foydalanishda cheklovlar olib tashlandi (ilgari tartib raqami 63 dan oshadigan ustunlar bilan operatsiyalar uchun indekslash qo'llanilmagan). Ifodalarda ishlatiladigan qiymatlarni indekslash yaxshilandi. NOT NULL va IS NULL operatorlarini qayta ishlashda diskdan katta satrlar va bloblarni yuklashni to'xtatdi. To'liq skanerlash faqat bir marta amalga oshiriladigan ko'rinishlarni moddiylashtirish bundan mustasno.
  • Kodlar bazasida "char *" turini ishlatish o'rniga fayl nomlarini ifodalash uchun alohida sqlite3_filename turi ishlatiladi.
  • Qo'shilgan sqlite3_value_encoding() ichki funksiyasi.
  • Saqlash sxemasi versiyasini o'zgartirishni taqiqlovchi SQLITE_DBCONFIG_DEFENSIVE rejimi qo'shildi.
  • "PRAGMA integrity_check" parametrini amalga oshirishga qo'shimcha tekshiruvlar qo'shildi. Misol uchun, STRICT atributiga ega bo'lmagan jadvallar METIN ustunlarida raqamli qiymatlarni va NUMERIC ustunlarida raqamlar bilan qator qiymatlarini o'z ichiga olmaydi. Shuningdek, "WITHOUT ROWID" atributi bilan jadvallardagi qatorlar tartibining to'g'riligini tekshirish qo'shildi.
  • "VACUUM INTO" iborasi "PRAGMA sinxronlash" sozlamalarini hurmat qiladi.
  • Xotirani ajratishda blok hajmini cheklash uchun SQLITE_MAX_ALLOCATION_SIZE qurish opsiyasi qo‘shildi.
  • SQLite-ga o'rnatilgan psevdo-tasodifiy raqamlarni yaratish algoritmi RC4 oqim shifridan Chacha20-ga ko'chirildi.
  • Turli xil ma'lumotlar sxemalarida bir xil nomdagi indekslardan foydalanishga ruxsat beriladi.
  • Oddiy faoliyat davomida CPU yukini taxminan 1% ga kamaytirish uchun ishlashni optimallashtirish amalga oshirildi.

Manba: opennet.ru

a Izoh qo'shish