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

Публикувана версия SQLite 3.51, лекотежка СУБД, предназначена за интегриране в библиотека. Кодът на 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» вече може да предоставя в режим само за четене 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