Команда SQLite выпустила версию 3.52, в которой устранена критическая проблема повреждения Базы данных, связанная с сбросом WAL. В новой версии также расширены возможности SQL-движка за счет усовершенствования команды ALTER TABLE, которая теперь позволяет добавлять или удалять ограничения NOT NULL и CHECK для большей гибкости схемы.
Кроме того, в этом выпуске добавлены две встроенные функции SQL, json_array_insert() и jsonb_array_insert(), которые расширяют функциональность JSON для вставки значений в массивы JSON или JSONB.
Новая библиотека Query Result Formatter улучшает отображение результатов запросов на терминалах с фиксированной шириной, поскольку CLI теперь использует QRF для рендеринга таблиц с помощью символов Unicode для рисования рамок. Кроме того, числовые значения по умолчанию выравниваются по правому краю для большей наглядности, а пакетные сеансы сохраняют устаревший формат вывода для обеспечения совместимости скриптов.
CLI включает в себя несколько улучшений. Команда .mode была значительно улучшена, и теперь простые точки с запятой в конце команд с точкой игнорируются. Команда .timer теперь поддерживает один аргумент для измерения времени только следующего SQL-оператора.
Команда .progress добавляет опцию --timeout для прерывания запросов по истечении заданного времени. Аргументы командной строки, ссылающиеся на файлы .sql или .txt, теперь автоматически обрабатываются как скрипты, если они содержат операторы SQL или команды с точкой.
Планировщик запросов был улучшен для повышения производительности, и теперь SQLite последовательно использует стратегию сортировки и слияния для операций EXCEPT, INTERSECT и UNION, которая, как правило, быстрее, чем методы на основе хеширования. Дополнительные оптимизации улучшают порядок соединений в сложных запросах со звездообразной схемой и улучшают преобразования EXISTS-to-JOIN.
Также стоит отметить, что преобразования из плавающей запятой в текст теперь по умолчанию округляют значения до 17 значащих цифр, по сравнению с 15 в предыдущих версиях. Наконец, SQLite 3.52 прекращает поддержку Windows RT.
Для получения более подробной информации читайте примечание к выпуску.

Комментарии (0)