релиз , легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Główne :
- Добавлена поддержка (вычисляемых столбцов), позволяющих при создании таблицы определить столбец, значение которого автоматически вычисляется на основе содержимого другого столбца. Генерируемые столбцы могут быть как виртуальными (формируемыми на лету при каждом обращении), так и сохраняемыми в БД (сохраняются при каждом обновлении связанных столбцов). Содержимое генерируемых столбцов доступно только в режиме чтения (изменение производится только через модификацию значения в другом столбце, задействованном при вычислении). Например:
CREATE TABLE t1(
a INTEGER PRIMARY KEY,
b INT,
c TEXT,
d INT GENERATED ALWAYS AS (a*abs(b)) VIRTUAL,
e TEXT GENERATED ALWAYS AS (substr(c,b,b+1)) STORED
); - Добавлены PRAGMA , настройка и сборочная опция «-DSQLITE_TRUSTED_SCHEMA», позволяющие управлять включением защиты от через модификацию схемы данных в БД. При активной защите ограничивается использование SQL-функций (не помеченных как SQLITE_INNOCUOUS) в триггерах, представлениях, выражениях CHECK и DEFAULT, индексах и генерируемых столбцах. Также отключается использование виртуальных таблиц в триггерах и представлениях, если виртуальная таблица явно не объявлена с флагом SQLITE_VTAB_INNOCUOUS.
- Реализована возможность присвоения определённым в приложениях SQL-функциям свойств (безобидные функции, которые не зависят от внешних параметров и не могут использоваться для совершения вредоносных действий) и (только прямой вызов в SQL-запросах, без возможности применения в триггерах, представлениях и схемах структуры данных);
- Добавлен модуль с реализацией функций для обработки UUID ( RFC-4122);
- Добавлена PRAGMA и функция для управления максимальным размером кучи;
- В PRAGMA добавлен вывод типа, свойств и числа аргументов каждой функции;
- В виртуальную таблицу DBSTAT режим агрегирования данных;
- В sqlite3_open_v2() реализована опция SQLITE_OPEN_NOFOLLOW, позволяющая запретить открытие символических ссылок;
- Для аргумента , передаваемого в JSON-функции, добавлена поддержка нотации массивов «#-N»;
- В системе распределения памяти реализована поддержка двух отдельных пулов памяти, каждый из которых может использоваться для выделения блоков разного размера (разделение позволяет расширить применение системы lookaside, при этом снизив размер выделяемого на каждое соединение буфера со 120 до 48 КБ);
- Прекращена поддержка PRAGMA , которая была несовместима с VACUUM, генерируемыми столбцами и убывающими индексами (поддержку устаревшего формата можно вернуть через флаг SQLITE_DBCONFIG_LEGACY_FILE_FORMAT в sqlite3_db_config()).
Źródło: opennet.ru
