Выпуск СУБД 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.
Источник: http://www.opennet.ru/opennews/art.shtml? num=65182
OpenNet прочитано 863 раза
