Излезе версия на СУБД SQLite 3.53

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

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

  • Отстранена е грешка, която водеше до повреждане на базата данни. Проблемът присъстваше от версия SQLite 3.7.0 (2010 г.) и засягаше бази данни в режим WAL (Write-Ahead Logging), проявявал се поради състояние на конфликт при едновременно отваряне на две или повече връзки към базата данни, които се опитваха да запишат или да фиксират транзакции в един и същи екземпляр на базата данни. Утвърдиха, че причиняващите срив обстоятелства се проявяват изключително рядко и успяха да ги повторят само в специално създаден тестов сценарий.
  • В командата „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