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

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

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

  • Отстранен е проблем, водещ до повреждане на БД. Проблемът присъства от версия SQLite 3.7.0 (2010 г.), засяга БД в режим WAL (Запис преди лог) и се проявява заради състояние на състезание при едновременно отваряне на две или повече свързвания към БД, които опитват да запишат или фиксират транзакции в един и същи екземпляр на БД. Утвърдено е, че причиняващия сблъсък набор от обстоятелства се проявява изключително рядко и е успял да бъде повторен само в специално създаден тестов сценарий.
  • В командата «ALTER TABLE» е разрешено премахването на проверки «NOT NULL» и «CHECK».
  • Добавена е команда «REINDEX EXPRESSIONS» за пренастройка на индексите на базата на изрази, в които като елемент на индекса се използва функция върху колона или операции върху колони. Командата може да се прилага за възстановяване на остарели индекси.
  • Вътре в времевите тригери, създавани с командата «CREATE TEMP TRIGGER» и прилагани към таблици в други БД, е разрешено изменение на таблици или заявки за данни от таблици.
  • В командата «VACUUM INTO» при указване на целевия файл чрез URL е реализирано използването на параметъра «reserve=N» за определяне на броя на създаваните резервни копия на БД.
  • Реализирани са нови SQL-функции json_array_insert() и jsonb_array_insert() за вмъкване на елементи в JSON масиви.
  • Добавена и активирана е в утилитата за команден ред библиотека QRF (Query Result Formatter) за форматиране на резултатите от изпълнението на SQL заявки в удобочитаем вид.
  • Промени в утилитата за команден ред:
    • Командата «.mode» е значително разширена.
    • Подобрено е генерирането на изхода, например, включено е по подразбиране рисуване на рамки, а числовите стойности сега се подравняват вдясно при табулиран изход.
    • Осигурено е игнориране на символите «;» след командите.
    • Съдържанието на указаните в командния ред файлове с разширения *.sql и *.txt сега се чете и интерпретира като набори от SQL-изрази и dot-команди.
    • В команда «.timer» добавена поддръжка на стойността «once» за приложение на таймера само за следващото SQL изразяване.
    • В команда «.progress» добавена опция «—timeout S» за принудително прекратяване на SQL изразяването след изтичане на времето.
    • В командата «.indexes» променено е поведението на шаблоните, които сега се прилагат към имената на индексите, а не към имената на индексираните таблици.
  • Направени са оптимизации в планирача на запитвания, ускоряващи работата със сливането на таблици и операциите ЕXCEPT, INTERSECT и UNION.
  • Повишена е производителността на функциите за преобразуване на числата с плаваща запетая в текстово представяне.
  • В реализацията, компилирана в междинен код WebAssembly, добавена е VFS «opfs-wl», идентична на VFS «opfs», но използваща API Web Locks за работа с блокировки.
  • В утилитата sqlite3_rsync добавена е опция «-p|—port».
  • Прекратена е поддръжката на платформата Windows RT.

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

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