Релиз СУБД SQLite 3.24
Представлен релиз SQLite 3.24.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Основные изменения:
- Добавлена поддержка операции UPSERT (добавить-или-модифицировать), реализованной через выражение «INSERT … ON CONFLICT DO NOTHING/UPDATE». Операция позволяет игнорировать ошибку или выполнить обновление вместо вставки, в случае невозможности добавления данных через «INSERT», например, из-за нарушения условий уникальности или недопустимости значения одного из полей (т.е. если запись уже существует, вместо INSERT можно выполнить UPDATE). Реализованный синтаксис аналогичен операции UPSERT в PostgreSQL;
- В CLI-интерфейсе с использованием ASCII-графики реализован наглядный отчёт с анализам плана выполнения запроса, выводимый при выполнении команды «EXPLAIN QUERY PLAN» (CLI автоматически преобразует raw-вывод команды в наглядную форму). Также расширена информация, выдаваемая в raw-выводе «EXPLAIN QUERY PLAN», например, добавлены сведения о связях между элементами плана выполнения запроса.
- В CLI-интерфейс добавлена новая команда ».dbconfig». В команду ».backup» добавлена опция »--append» для дополнения вместо перезаписи. Обеспечена интерпретация строк, начинающихся с символа '#', как комментариев;
- В таблицах r-tree обеспечена возможность определения вспомогательных столбцов для хранения произвольных данных;
- В API для языка Си добавлены функции для определения поддержки заданных ключевых (sqlite3_keyword_count (), sqlite3_keyword_name (), sqlite3_keyword_check ()), а также использования динамических строк на основе объекта sqlite3_str;
- В выражении «ALTER TABLE» обеспечена возможность использования аргументов «true» и «false» в секции DEFAULT;
- Добавлена включаемая на этапе сборки оптимизация сортировки ссылок (включается при указании SQLITE_ENABLE_SORTER_REFERENCES).
© OpenNet