Опубликован релиз 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» в подзапросах и представлениях, если удаление данных выражений не изменяет семантику запроса.
- Изменено расширение generate_series(START,END,STEP), первый параметр в котором («START») переведён в разряд обязательных. Для возвращения старого поведения возможна пересборка с опцией «-DZERO_ARGUMENT_GENERATE_SERIES».
- Сокращено потребление памяти для хранения схемы БД.
Источник: http://www.opennet.ru/opennews/art.shtml?num=56244