релиз , лека СУБД, оформена като свързваща библиотека. Кодът на SQLite се разпространява като обществено достояние (public domain), т.е. може да се използва без ограничения и безвъзмездно за всякакви цели. Финансовата подкрепа на разработчиците на SQLite се осъществява от специално създаден консорциум, в който влизат компании като Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Основни :
- Добавена е поддръжка (изчисляеми колони), които позволяват при създаване на таблица да се определи колона, чето стойността ѝ се изчислява автоматично на базата на съдържанието на друга колона. Генерираните колони могат да бъдат както виртуални (създавани в реално време при всяко запитване), така и съхранявани в базата данни (съхранявани при всяко обновление на свързаните колони). Съдържанието на генерираните колони е налично само в режим на четене (промяната става единствено чрез модификация на стойността в друга колона, участваща в изчислението). Например:
СЪЗДАЙ ТАБЛИЦА t1(
a INTEGER PRIMARY KEY,
b INT,
c TEXT,
d INT ГЕНЕРИРАНА ВИНАГИ КАТО (a*abs(b)) ВИРТУАЛНА,
e TEXT ГЕНЕРИРАНА ВИНАГИ КАТО (substr(c,b,b+1)) СЪХРАНЕНА
); - Добавени 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
