Bolestný deň SQLite 3.53, ľahká databázová správa, ktorá je dostupná ako pripojiteľná knižnica. Verzia 3.52 bola zrušená. Kód SQLite je distribuovaný ako verejný majetok (public domain), takže ho možno používať bez obmedzení a zadarmo na akýkoľvek účel. Finančnú podporu vývojárom SQLite poskytuje špeciálne vytvorený konzorcium.
Hlavné zmeny:
- Opravená chyba, ktorá spôsobovala poškodenie databázy. Problém sa vyskytoval od verzie SQLite 3.7.0 (rok 2010) a ovplyvňoval databázy v režime WAL (Write-Ahead Logging) a prejavoval sa v dôsledku pretekania pri súčasnom otváraní dvoch alebo viacerých pripojení k databáze, ktoré sa pokúšali zapisovať alebo potvrdiť transakcie v jednom inštancii databázy. Tvrdí sa, že okolnosti vedúce k zlyhaniu sa vyskytujú mimoriadne zriedka a podarilo sa ich zopakovať len v špeciálne vytvorenom testovacom scenári.
- V príkaze „ALTER TABLE“ je povolené odstraňovať kontroly „NOT NULL“ a „CHECK“.
- Pridaný príkaz „REINDEX EXPRESSIONS“ na obnovenie indexov na základe výrazov, v ktorých je ako prvok indexu použitá funkcia nad stĺpcom alebo operácie nad stĺpcami. Príkaz sa môže použiť na obnovenie prehnitých indexov.
- Vo vnútri dočasných spúšťačov vytvorených príkazom „CREATE TEMP TRIGGER“ a aplikovaných na tabuľky v iných databázach je povolená zmena tabuliek alebo dotazy na údaje z tabuliek.
- V príkaze „VACUUM INTO“, pri určení cieľového súboru prostredníctvom URL, sa realizovalo použitie parametra „reserve=N“ na určenie počtu vytváraných záložných kópií databázy.
- Implementované nové SQL funkcie json_array_insert() a jsonb_array_insert() na vkladanie prvkov do polí JSON.
- Pridaná a zapojená v utilite príkazového riadku knižnica QRF (Query Result Formatter) na formátovanie výsledkov vykonania SQL dopytov do ľahko čitateľného formátu.
- Zmeny v utilite príkazového riadku:
- Príkaz „.mode“ bol výrazne rozšírený.
- Zlepšené generovanie výstupu, napríklad je predvolene zahrnuté vykreslenie rámov a číselné hodnoty sú teraz zarovnané doprava pri tabulovanom výstupe.
- Zabezpečené ignorovanie znakov „;“ po príkazoch.
- Obsah uvedených v príkazovom riadku súborov s príponami *.sql a *.txt sa teraz číta a interpretuje ako súbory SQL výrazov a dot príkazov.
- Do tímu „.timer“ bola pridaná podpora hodnoty „once“ na použitie časovača iba na nasledujúce SQL výrazy.
- Do tímu „.progress“ bola pridaná možnosť „—timeout S“ na nútené prerušenie SQL výrazu po uplynutí časového limitu.
- V príkaze „.indexes“ bolo zmenené správanie šablón, ktoré sa teraz aplikujú na názvy indexov, a nie na názvy indexovaných tabuliek.
- Boli vykonané optimalizácie v plánovači dotazov, ktoré urýchlili prácu s fúziou tabuliek a operáciami EXCEPT, INTERSECT a UNION.
- Vylepšený výkon funkcií prevodu čísel s pohyblivou desatinnou čiarkou na textovú reprezentáciu.
- Do implementácie kompilovanej do medzikódu WebAssembly bola pridaná VFS „opfs-wl“, identická VFS „opfs“, ale využívajúca API Web Locks na prácu s uzamknutiami.
- Do nástroja sqlite3_rsync bola pridaná možnosť „-p|—port“.
- Podpora platformy Windows RT bola ukončená.
Zdroj: opennet.ru
