Выпуск СУБД SQLite 3.44

Опубликован релиз SQLite 3.44, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Bentley, Bloomberg, Expensify и Navigation Data Standard.

Основные изменения:

  • В агрегатных функциях после последнего параметра разрешено указание выражения “ORDER BY” для обработки аргументов функции в заданном порядке, что может быть полезно для таких функций, как string_agg() и json_group_array().
  • Добавлена поддержка скалярных SQL-функций concat() и concat_ws(), совместимых с PostgreSQL, MS SQL Server и MySQL.
  • Добавлена поддержка агрегатной функции string_agg(), совместимой с PostgreSQL и MS SQL Server.
  • В SQL-функции strftime() добавлена поддержка спецификаторов “%e”, “%F”, “%I”, “%k”, “%l”, “%p”, “%P”, “%R”, “%T” и “%u”.
  • Вывод многих ошибок, связанных с выражением “CREATE TABLE”, теперь выводится после выполнения выражения “CREATE TABLE”, а не после первого использования таблицы.
  • В команде “PRAGMA integrity_check” реализована проверка согласованности содержимого различных встроенных виртуальных таблиц, применяемых в расширениях FTS3, FTS4, FTS5, RTREE и GEOPOLY.
  • Встроенные виртуальных таблицы, применяемые в расширениях FTS3, FTS4, FTS5, RTREE и GEOPOLY, разрешено использовать внутри триггеров.
  • При указании настройки SQLITE_DBCONFIG_DEFENSIVE обеспечена защита от включения режима “PRAGMA writable_schema”.
  • При сборке компилятором Microsoft C по умолчанию включена настройка SQLITE_USE_SEH (Structured Exception Handling).
  • Внесены оптимизации в планировщик запросов, связанные с частичным сканированием индексов при указании в выражении WHERE постоянного значения для столбца таблицы. Из-за выявленных регрессий отключена оптимизация сканирования представлений, добавленная в версии 3.42.0.
  • Обеспечена осуществляемая во время выполнения проверка поддержки системой типа “long double” с точностью выше, чем у типа “double”.
  • В командном интерфейсе для Windows по умолчанию для ввода и вывода задействована кодировка UTF-8 (для отключения предусмотрена опция “–no-utf8”).
Release. Ссылка here.