Опубликован релиз 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.