izdanje , lahka baza podatkov, predstavljena kot dinamična knjižnica. Koda SQLite je na voljo kot javno dobro, kar pomeni, da se lahko uporablja brez omejitev in brezplačno za vse namene. Razvoj SQLite financira posebni konzorcij, ki vključuje podjetja, kot so Adobe, Oracle, Mozilla, Bentley in Bloomberg.
Glavne :
- Dodana je podpora za (izračunatih kolona), koje omogućavaju da se prilikom kreiranja tabele definiše kolona čija se vrednost automatski izračunava na osnovu sadržaja druge kolone. Generisane kolone mogu biti virtuelne (formiraju se u trenutku svakog pristupa) ili sačuvane u bazi podataka (čuvaju se prilikom svake izmene povezanih kolona). Sadržaj generisanih kolona dostupan je samo u režimu čitanja (izmena se vrši samo putem modifikacije vrednosti u drugoj koloni koja se koristi pri izračunavanju). Na primer:
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
); - Dodate su PRAGMA , podešavanje i opcija za kompilaciju „-DSQLITE_TRUSTED_SCHEMA“, koje omogućavaju upravljanje aktiviranjem zaštite od modifikacije šeme podataka u bazi podataka. Kada je zaštita aktivna, korišćenje SQL funkcija (koje nisu označene kao SQLITE_INNOCUOUS) u okidačima, pogledima, CHECK izrazima i DEFAULT, indeksima i generisanim kolonama je ograničeno. Takođe se onemogućava korišćenje virtuelnih tabela u okidačima i pogledima, osim ako virtuelna tabela nije izričito deklarisana sa oznakom SQLITE_VTAB_INNOCUOUS.
- Implementirana je mogućnost dodeljivanja određenim SQL funkcijama svojstava (neprijetne funkcije koje ne zavise od spoljašnjih parametara i ne mogu se koristiti za izvršenje malicioznih radnji) i (samo direktan poziv u SQL upitima, bez mogućnosti korišćenja u okidačima, pogledima i šemama strukture podataka);
- Dodana je bila enota sa implementacijom funkcija za obradu UUID (RFC-4122);
- Dodata je PRAGMA i funkcija za upravljanje maksimalnom veličinom hrpe;
- U PRAGMA dodata su informacija o tipu, svojstvima i broju argumenata svake funkcije;
- U virtuelnu tabelu DBSTAT režim agregacije podataka;
- U sqlite3_open_v2() implementirana je opcija SQLITE_OPEN_NOFOLLOW, koja omogućava zabranu otvaranja simboličkih linkova;
- Za argument , prosledjen u JSON funkcije, dodata je podrška za notaciju nizova „#-N“;
- U sistemu raspodele memorije Podprta sta dva ločena skladišča pomnilnika, od katerih se vsako lahko uporabi za dodelitev blokov razdifferent sizes (razdelitev omogoča širšo uporabo sistema lookaside, hkrati pa zmanjša velikost dodeljenega požarnega zidu na vsako povezavo s 120 na 48 kB);
- Podpora za PRAGMA je bila ukinjena , ki ni bila združljiva z VACUUM, generiranimi stolpci in padajočimi indeksi (podporo zastare formata lahko vrnete s pomočjo zastavice SQLITE_DBCONFIG_LEGACY_FILE_FORMAT v sqlite3_db_config()).
Izvor: opennet.ru
