Objavljen je izdanak SQLite 3.53, laganog DBMS-a koji se isporučuje kao dinamička biblioteka. Izdanak 3.52 je otkazan. Kod SQLite-a se distribuira kao javno vlasništvo (public domain), što znači da se može koristiti bez ograničenja i besplatno u bilo koje svrhe. Financijsku podršku za programere SQLite-a pruža specijalno osnovani konzorcij.
Glavne promjene:
- Ispravljena je greška koja je mogla prouzročiti oštećenje baze podataka. Problem je bio prisutan od verzije SQLite 3.7.0 (2010. godina), a odnosio se na baze podataka u WAL (Write-Ahead Logging) režimu i manifestirao se zbog stanja utrke pri istodobnom otvaranju dva ili više veza prema bazi podataka koje su pokušavale zapisati ili odobriti transakcije u jednom primjerku baze podataka. Tvrdnja je da se okolnosti koje dovode do kvara događaju vrlo rijetko i da su se uspjele ponoviti samo u posebno izrađenom testnom scenariju.
- U naredbi „ALTER TABLE” dopušteno je uklanjanje provjera „NOT NULL” i „CHECK”.
- Dodana je naredba „REINDEX EXPRESSIONS” za rekonstrukciju indeksa temeljenih na izrazima u kojima se kao element indeksa koristi funkcija nad stupcem ili operacije nad stupcima. Naredba se može primijeniti za obnavljanje nevažećih indeksa.
- Unutar privremenih okidača, koje kreira naredba „CREATE TEMP TRIGGER” i primjenjuje se na tablice u drugim bazama podataka, dozvoljene su promjene tablica ili upiti podataka iz tablica.
- U naredbi „VACUUM INTO” pri određivanju ciljne datoteke putem URL-a implementirana je upotreba parametra „reserve=N” za određivanje broja izrađenih rezervnih kopija baze podataka.
- Implementirane su nove SQL funkcije json_array_insert() i jsonb_array_insert() za umetanje elemenata u JSON nizove.
- Dodana je i aktivirana u komandnoj liniji biblioteka QRF (Query Result Formatter) za formatiranje rezultata izvršavanja SQL upita u lako čitljiv oblik.
- Promjene u komandnoj liniji:
- Značajno je proširena naredba „.mode”.
- Poboljšano je oblikovanje ispisa, na primjer, uključeno je prema zadanim postavkama crtanje okvira, a numeričke vrijednosti sada se poravnavaju desno pri tabuliranom ispisu.
- Osigurano je ignoriranje znakova „;” nakon naredbi.
- Sadržaj datoteka navedenih u komandnoj liniji s ekstenzijama *.sql i *.txt sada se učitava i interpretira kao skupovi SQL izraza i dot-naredbi.
- U naredbu «.timer» dodana je podrška za vrijednost «once» za primjenu timera samo na sljedeći SQL izraz.
- U naredbu «.progress» dodana je opcija «—timeout S» za prisilno prekinuti SQL izraz nakon isteka vremena.
- U naredbi «.indexes» promijenjeno je ponašanje predložaka, koji se sada primjenjuju na imena indeksa, a ne na imena indeksiranih tablica.
- Optimizacije su unesene u planer upita, što je ubrzalo proces spajanja tablica i operacija EXCEPT, INTERSECT i UNION.
- Povećana je učinkovitost funkcija za pretvaranje brojeva s pomičnom točkom u tekstualni prikaz.
- Implementaciji koja se kompilira u međukôd WebAssembly dodana je VFS «opfs-wl», identična VFS «opfs», ali koristi API Web Locks za rad s zaključavanjima.
- U alat sqlite3_rsync dodana je opcija «-p|—port».
- Obustavljena je podrška za platformu Windows RT.
Izvor: opennet.ru
