Релиз СУБД SQLite 3.24
Как сообщает opennet.ru Представлен релиз 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).