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

Издадено е издание SQLite 3.51, лекoтежка СУБД, оформена като свързваща библиотека. Кодът на SQLite се разпространява като обществено достояние (public domain), т.е. може да се използва без ограничения и безплатно за всякакви цели. Финансовата подкрепа за разработчиците на SQLite се осъществява от специално създаден консорциум.

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

  • Добавени са нови JSON-функции jsonb_each() и jsonb_tree(), които се различават от предишно наличните функции json_each() и json_tree() по това, че връщат стойност JSONB за данни с тип масив или обект.
  • Кодът на разширенията carray и percentile е преместен в основния файл „sqlite3.c“ със вградения код на SQLite. По подразбиране данните на допълнението са деактивирани и изискват указание при компилиране с параметри „-DSQLITE_ENABLE_CARRAY“ и „-DSQLITE_ENABLE_PERCENTILE“.
  • Подобрено е интерфейсът за използване на SQLite в скриптове на Tcl. В командата „eval“ е добавен флаг „-asdict“ за извеждане на редове с използване на тип „dict“ вместо „array“. Добавена е възможност за прекъсване на потребителските функции за връщане на NULL.
  • Промени в интерфейса на командния ред:
    • Точността на командата „.timer“ е увеличена до микросекунди;
    • В режимите на форматиране „box“ и „column“ е реализирана поддръжка на символи с двойна ширина;
    • Командата „.imposter“ сега може да предоставя импостер-таблици в режим само за четене (позволяващи достъп до данни в индекса като таблица), работещи с операцията VACUUM и не изискващи стартиране с флага „—unsafe-testing“;
    • В утилитата sqlite и командата „.open“ е добавена опция „—ifexists“.
    • Максималната ширина на реда, зададена с командата „.width“, е ограничена до 30000 символа.
  • Внесени са оптимизации на производителността:
    • Намалена е натовареността на CPU при фиксиране на транзакции, ограничени с достъп до четене;
    • Подобрено е определянето на операции за сливане (JOIN), които не връщат редове поради факта, че една или повече таблици не съдържат редове;
    • Исключено е изпълнението на скаларни подзапроси, които не влияят на резултата;
    • Ускорена е работата на прозоречните функции в запитвания с израз „BETWEEN 😡 FOLLOWING AND :y FOLLOWING“ и много голямо значение „:y“.
  • Добавена е прагма „PRAGMA wal_checkpoint=NOOP“ и функцията API sqlite3_wal_checkpoint() за фиксиране на промените в WAL-журнала.
  • В API са добавени функции sqlite3_set_errmsg() и sqlite3_db_status64().
  • В JavaScript/WASM-версията на SQLite е реализирана поддръжка на компилиране в представяне WebAssembly с 64-битови указатели.
  • Повишена устойчивост към повреждане на БД в приложения, които освобождават POSIX блокировки чрез извикване на close().
  • Подобрена поддръжка на платформата VxWorks.

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

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