Издаване на СУБД SQLite 3.40

Публикувано е издание SQLite 3.40, леко програмирано управление бази данни, представено под формата на свързана библиотека. Кодът на SQLite се разпространява като обществено достояние, т.е. може да се използва без ограничения и безвъзмездно за всякакви цели. Финансова подкрепа на разработчиците на SQLite предоставя специално създаден консорциум, в който влизат компании като Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основни промени:

  • Реализирана е експериментална възможност за компилиране на SQLite в междинен код WebAssembly, способен да се изпълнява в уеб браузър и подходящ за организиране на работа с бази данни от уеб приложения на JavaScript. Уеб разработчиците получават високоефективен обектно-ориентиран интерфейс за работа с данни в стил sql.js или Node.js, обвивка над нискоуровневото C API и API, основано на механизма Web Worker, което позволява създаването на асинхронни обработчици, които се изпълняват в отделни нишки. Данните, които уеб приложенията запазват в WASM версията на SQLite, могат да бъдат запазени на страната на клиента с помощта на OPFS (Origin-Private FileSystem) или API window.localStorage.
  • Добавено е разширение recovery, предназначено за възстановяване на данни от повредени файлове с бази данни. В интерфейса на командния ред за възстановяване се използва команда „.recover”.
  • Подобрена е работата на планиращия запроси. Премахнати са ограниченията при използването на индекси с таблици, съдържащи повече от 63 колони (по-рано при операции с колони, чийто порядков номер надвишава 63, индексирането не се прилагаше). Подобрено е индексирането на стойности, използвани в изрази. Прекратено е зареждането от диска на големи редове и блобове при обработка на оператори NOT NULL и IS NULL. Изключена е материализацията на представления, за които пълното сканиране се изпълнява само веднъж.
  • В кодовата база вместо типа „char *“ за представяне на имена на файлове е активиран отделен тип sqlite3_filename.
  • Добавена е вградена функция sqlite3_value_encoding().
  • Добавен е режим SQLITE_DBCONFIG_DEFENSIVE, забраняващ промяна на версията на схемата за съхранение на данни.
  • В параметъра «PRAGMA integrity_check» са добавени допълнителни проверки. Например, таблици без признак STRICT не трябва да съдържат числови стойности в колони с тип TEXT и стрингови стойности с числа в колони с тип NUMERIC. Също така е добавена проверка за правилността на реда на редовете в таблици с признак «WITHOUT ROWID».
  • В израза «VACUUM INTO» са взети под внимание настройките «PRAGMA synchronous».
  • Добавена е опцията SQLITE_MAX_ALLOCATION_SIZE, позволяваща ограничаване на размера на блоковете при разпределение на паметта.
  • Вградените в SQLite алгоритми за генериране на псевдослучайни числа са преминали от използването на потоков шифър RC4 към Chacha20.
  • Разрешено е използването на индекси с едно и също име в различни схеми данни.
  • Извършени са оптимизации на производителността, които намаляват натоварването на CPU с приблизително 1% при типична активност.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster