Релиз СУБД 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