vydání , lehkého databázového systému ve formě dynamické knihovny. Kód SQLite je distribuován jako veřejné vlastnictví (public domain), tedy může být používán bez omezení a bezúplatně pro jakékoli účely. Finanční podporu vývojářů SQLite poskytuje speciálně vytvořený konsorcium, do kterého patří společnosti jako Adobe, Oracle, Mozilla, Bentley a Bloomberg.
Hlavní :
- Byla přidána podpora (vypočítávaných sloupců), které umožňují při vytváření tabulky určit sloupcový hodnotu, která se automaticky počítá na základě obsahu jiného sloupce. Generované sloupce mohou být jak virtuální (tvořeny za běhu při každém přístupu), tak i uloženy v databázi (uchovávány při každé aktualizaci souvisejících sloupců). Obsah generovaných sloupců je dostupný pouze v režimu čtení (změna se provádí pouze modifikací hodnoty v jiném sloupci, který se podílí na výpočtu). Například:
VYTVOŘIT TABULKU t1 (
a INTEGER PRIMARY KEY,
b INT,
c TEXT,
d INT GENEROVÁNO VŽDY JAKO (a*abs(b)) VIRTUÁLNÍ,
e TEXT GENEROVÁNO VŽDY JAKO (substr(c,b,b+1)) ULOŽENÉ
); - Byly přidány PRAGMA , nastavení a kompilátorová volba „-DSQLITE_TRUSTED_SCHEMA“, které umožňují řídit zahrnutí ochrany prostřednictvím modifikace schématu dat v databázi. Při aktivní ochraně je omezeno používání SQL funkcí (neoznačených jako SQLITE_INNOCUOUS) v spouštích, pohledech, kontrolních výrazech a DEFAULT, indexech a generovaných sloupcích. Také je zakázáno používání virtuálních tabulek ve spouštích a pohledech, pokud virtuální tabulka není výslovně deklarována s flagem SQLITE_VTAB_INNOCUOUS.
- Byla implementována možnost přiřazení určitým aplikacím SQL funkcím vlastností (neškodné funkce, které nezávisí na externích parametrech a nemohou být použity k provádění škodlivých činů) a (pouze přímé volání v SQL dotazech, bez možnosti použití ve spouštích, pohledech a schématech struktury dat);
- Byl přidán modul s implementací funkcí pro zpracování UUID (RFC-4122);
- Byla přidána PRAGMA a funkce pro řízení maximální velikosti haldy;
- V PRAGMA byl přidán výstup typu, vlastností a počtu argumentů každé funkce;
- Do virtuální tabulky DBSTAT režim agregace dat;
- Do sqlite3_open_v2() byla implementována možnost SQLITE_OPEN_NOFOLLOW, která umožňuje zakázat otevírání symbolických odkazů;
- Pro argument , předávaný v JSON funkcích, byla přidána podpora notace polí „#-N“;
- V systému distribuce paměti Byla implementována podpora dvou oddělených paměťových poolů, z nichž každý může být použit pro alokaci bloků různých velikostí (rozdělení umožňuje rozšíření použití systému lookaside a současně snižuje velikost alokovaného bufferu na každé spojení z 120 na 48 KB);
- Podpora PRAGMA byla ukončena , která byla nekompatibilní s VACUUM, generovanými sloupci a klesajícími indexy (podpora zastaralého formátu může být obnovena pomocí příznaku SQLITE_DBCONFIG_LEGACY_FILE_FORMAT v sqlite3_db_config()).
Zdroj: opennet.ru
