реліз , легковажний СУБД, оформлений у вигляді бібліотеки, що підключається. Код SQLite поширюється як суспільне багатство (public domain), тобто. може використовуватися без обмежень та безоплатно в будь-яких цілях. Фінансову підтримку розробників SQLite здійснює спеціально створений консорціум, до якого входять такі компанії, як Adobe, Oracle, Mozilla, Bentley та Bloomberg.
Основні :
- Додана підтримка (обчислюваних стовпців), що дозволяють при створенні таблиці визначити стовпець, значення якого автоматично обчислюється на основі іншого стовпця. Стовпці, що генеруються, можуть бути як віртуальними (формуються на льоту при кожному зверненні), так і зберігаються в БД (зберігаються при кожному оновленні пов'язаних стовпців). Вміст стовпців, що генеруються, доступний тільки в режимі читання (зміна проводиться тільки через модифікацію значення в іншому стовпці, задіяному при обчисленні). Наприклад:
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()).
Джерело: opennet.ru
