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

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

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

  • Възможност за използване на разделителя „_“ в числа за по-нагледно представяне на числовите литерали (например, 1_234_567).
  • Добавена е SQL-функция json_pretty() за генериране на по-четим изход в JSON формат, форматиран с използването на отместване на блоковете.
  • Разширени са възможностите на операцията „PRAGMA optimize“, която извършва оптимизация на БД и всички схеми данни за постигане на най-добра производителност на запитванията. Реализиран е автоматично прилагант лимит на времето за анализ на БД, изключващ твърде дълго време за обработка на големи БД. Добавена е нова битова маска „PRAGMA optimize(0x10000)“ за отделна проверка на актуализациите във всички таблици. Осигурено е автоматично повторно анализиране на таблиците, в които липсват записи sqlite_stat1.
  • В SQL-функцията strftime() е добавена поддръжка на заместващи символи %G, %g, %U и %V.
  • В SQL-функциите за работа с дати и време са добавени нови модификатори ceiling и floor за управление на обработката на неясни дати, възникващи при операции с промяна на датите с определен брой месеци или години. Осигурено е игнориране на модификаторите utc и localtime, ако SQLite знае, че времето вече е в представяне UTC или localtime.
  • Внесени са оптимизации в планирача на запитвания. За изрази INSERT, съдържащи хиляди стойности в секцията VALUES, по подразбиране е включена оптимизацията „VALUES-as-coroutine“, позволяваща приблизително два пъти по-бързо парсване на подобни изрази и два пъти по-малко потребление на памет. За запитвания от вида „SELECT count(DISTINCT col) FROM …“ е разрешено прилагането на индекси, дори ако размерът на записите в индекса е не по-малък от записите в таблицата. Подобрен е логиката за определяне на ситуации, в които в аргументите на SQL-функциите се задават константи. Осигурено е прилагането на оптимизация push-down за изрази WHERE, съдържащи несвързани подзапитвания.
  • Променена логика на обработка на препълване на стек – при откриване на недостатъчно памет за стека, парсерът сега се опитва да задели допълнителна памет от купчина, вместо да изведе грешка "препълване на стека на парсера".
  • В JSON е разрешено указване на контролни символи в стринговите литерали JSON5. Променена е логиката на работа на операторите "->" и "->>", когато в дясната част стринговият оператор съдържа само цифри (по аналогия с PostgreSQL, тези оператори сега се обработват като низ).
  • В стойността DEFAULT в колоните на таблиците е разрешено указване на големи шестнадесетични литерали.

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

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