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

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

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

  • Добавлена поддержка создания таблиц с признаком “STRICT“, требующим обязательного указания типа при объявлении столбцов и применяющим строгую проверку соответствия типов добавляемых в столбцы данных. При выставлении данного флага SQLite станет выводить ошибку при невозможности привести указанные данные к типу столбца. Например, если столбец создан как “INTEGER”, то передача строкового значения ‘123’ приведёт к добавлению числа 123, но попытка указания ‘xyz’ завершиться ошибкой.
  • В операции “ALTER TABLE ADD COLUMN” добавлена проверка условий существования строк при добавлении столбцов с проверками на базе выражения “CHECK” или с условиями “NOT NULL”.
  • Реализовано выражение “PRAGMA table_list” для вывода информации о таблицах и представлениях.
  • В интерфейсе командной строки реализована команда “.connection“, позволяющая одновременно поддерживать несколько соединений к БД.
  • Добавлен параметр “–safe“, отключающий CLI-команды и SQL-выражения, которые позволяют совершать операции с файлами БД, отличающимися от указанной в командной строке БД.
  • В CLI проведена оптимизация производительности чтения SQL-выражений, разбиваемых на несколько строк.
  • Добавлены функции sqlite3_autovacuum_pages(), sqlite3_changes64() и sqlite3_total_changes64().
  • В планировщике запросов обеспечено игнорирование выражений “ORDER BY clauses” в подзапросах и представлениях, если удаление данных выражений не изменяет семантику запроса.
  • Изменено расширение table-valued, первый параметр (“START”) в котором переведён в разряд обязательных. Для возвращения старого поведения возможна пересборка с опцией “-DZERO_ARGUMENT_GENERATE_SERIES”.
  • Сокращено потребление памяти для хранения схемы БД.
Release. Ссылка here.