SQLite 3.40 хувилбар

SQLite 3.40, залгаас номын сан хэлбэрээр зохион бүтээсэн хөнгөн DBMS-ийн хувилбар хэвлэгдэн гарлаа. SQLite кодыг олон нийтэд түгээдэг, i.e. ямар ч зорилгоор ямар ч хязгаарлалтгүйгээр, үнэ төлбөргүй ашиглаж болно. SQLite хөгжүүлэгчдэд зориулсан санхүүгийн дэмжлэгийг Adobe, Oracle, Mozilla, Bentley, Bloomberg зэрэг компаниудыг багтаасан тусгайлан байгуулагдсан консорциум гүйцэтгэдэг.

Үндсэн өөрчлөлтүүд:

  • SQLite-ийг вэб хөтөч дээр ажиллах боломжтой, JavaScript хэл дээрх вэб програмын мэдээллийн сантай ажиллахад тохиромжтой завсрын WebAssembly код болгон хөрвүүлэх туршилтын чадварыг хэрэгжүүлсэн. Вэб хөгжүүлэгчид sql.js эсвэл Node.js хэв маягийн өгөгдөлтэй ажиллах, доод түвшний C API дээр ороох, Web Worker механизм дээр суурилсан API-ээр ажиллах өндөр түвшний объект хандалтат интерфейсээр хангагдсан байдаг. тусдаа урсгал дээр ажилладаг асинхрон зохицуулагчийг бий болгох. SQLite-ийн WASM хувилбарт вэб программуудын хадгалдаг өгөгдлийг OPFS (Origin-Private FileSystem) эсвэл window.localStorage API ашиглан клиент талд хадгалах боломжтой.
  • Мэдээллийн сангаас гэмтсэн файлуудаас өгөгдлийг сэргээхэд зориулагдсан сэргээх өргөтгөлийг нэмсэн. Командын мөрийн интерфейс нь сэргээхийн тулд ".recover" командыг ашигладаг.
  • Асуулга төлөвлөгчийн гүйцэтгэл сайжирсан. 63-аас дээш баганатай хүснэгт бүхий индексийг ашиглах үед хязгаарлалтыг арилгасан (өмнө нь дарааллын дугаар нь 63-аас хэтэрсэн баганатай үйлдлүүдэд индексжүүлэлтийг ашигладаггүй). Илэрхийлэлд ашигласан утгуудын индексжүүлэлт сайжирсан. NOT NULL болон IS NULL операторуудыг боловсруулах үед дискнээс том мөр болон блокуудыг ачаалахаа больсон. Бүрэн хайлтыг зөвхөн нэг удаа хийдэг үзвэрийн материаллаг байдлыг хассан.
  • Кодын санд "char *" төрлийг ашиглахын оронд тусдаа sqlite3_filename төрлийг файлын нэрийг төлөөлөхөд ашигладаг.
  • sqlite3_value_encoding() дотоод функцийг нэмсэн.
  • Хадгалах схемийн хувилбарыг өөрчлөхийг хориглодог SQLITE_DBCONFIG_DEFENSIVE горимыг нэмсэн.
  • "PRAGMA integrity_check" параметрийн хэрэгжилтэд нэмэлт шалгалтууд нэмэгдсэн. Жишээлбэл, SRICT шинж чанаргүй хүснэгтүүд нь TEXT баганад тоон утгыг, NUMERIC баганад тоон утгыг агуулсан байх ёсгүй. Мөн "WITHOUT ROWID" тэмдгээр хүснэгтийн мөрийн дарааллын зөв эсэхийг шалгана.
  • "VACUUM INTO" илэрхийлэл нь "PRAGMA synchronous" тохиргоог хүндэтгэдэг.
  • Санах ойг хуваарилах үед блокуудын хэмжээг хязгаарлахын тулд SQLITE_MAX_ALLOCATION_SIZE бүтээх сонголтыг нэмсэн.
  • SQLite-д суурилуулсан псевдо санамсаргүй тоо үүсгэх алгоритмыг RC4 урсгалын шифрээс Chacha20 руу шилжүүлсэн.
  • Өөр өөр өгөгдлийн схемд ижил нэртэй индексийг ашиглахыг зөвшөөрнө.
  • Ердийн үйл ажиллагааны явцад CPU-ийн ачааллыг ойролцоогоор 1% бууруулахын тулд гүйцэтгэлийн оновчлолыг хийсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх