Bol spustený release SQLite 3.51, ľahkej SODB, ktorá je dostupná ako knižnica. Kód SQLite je distribuovaný ako verejná doména (public domain), t.j. môže byť používaný bez obmedzení a bezplatne na akýkoľvek účel. Finančnú podporu pre vývojárov SQLite zabezpečuje špeciálne zriadený konzorcium.
Hlavné zmeny:
- Pridané nové JSON-funkcie jsonb_each() a jsonb_tree(), ktoré sa od predtým dostupných funkcií json_each() a json_tree() líšia tým, že vracajú hodnotu JSONB pre dáta typu pole alebo objekt.
- Kód rozšírení carray a percentile bol presunutý do základného súboru «sqlite3.c» so zabudovaným kódom SQLite. Predvolene sú dáta týchto rozšírení deaktivované a vyžadujú zadané parametre pri zostavovaní: «-DSQLITE_ENABLE_CARRAY» a «-DSQLITE_ENABLE_PERCENTILE».
- Vylepšené rozhranie pre používanie SQLite v skriptoch v jazyku Tcl. Do príkazu «eval» bol pridaný parameter «-asdict» na vyhotovenie reťazcov s typom «dict» namiesto «array». Pridaná možnosť prerušiť používateľské funkcie na vrátenie hodnoty NULL.
- Zmeny v príkazovom rozhraní:
- Presnosť príkazu «.timer» bola zvýšená na mikrosekundy.
- V režimoch formátovania «box» a «column» bola implementovaná podpora znakov s dvojitou šírkou.
- Príkaz «.imposter» môže teraz poskytovať v režime len na čítanie imposter-tabule (umožňujúce prístup k dátam v indexe ako k tabuľke), pracuje s operáciou VACUUM a nevyžaduje spustenie s parametrom «—unsafe-testing».
- Do utilitky sqlite a príkazu «.open» bola pridaná možnosť «—ifexists».
- Maximálna šírka riadku nastavená pomocou príkazu «.width» je obmedzená na 30000 znakov.
- Boli vykonané optimalizácie výkonu:
- Znížená záťaž na CPU pri zafixovaní transakcií, obmedzených na čítanie;
- Vylepšené určenie operácií spájania (JOIN), ktoré nevracajú riadky kvôli tomu, že jedna alebo viac tabuliek neobsahuje riadky;
- Vylúčené vykonávanie skalarových poddotazov, ktoré nemajú vplyv na výsledok;
- Zrýchlená práca oknových funkcií v dopytoch s výrazom «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» a veľmi vysokou hodnotou «:y».
- Pridaná pragmatika «PRAGMA wal_checkpoint=NOOP» a funkcia API sqlite3_wal_checkpoint() na zafixovanie zmien v WAL-žurnále.
- Do API boli pridané funkcie sqlite3_set_errmsg() a sqlite3_db_status64().
- V JavaScript/WASM-verzii SQLite bola implementovaná podpora kompilácie do formátu WebAssembly s 64-bitovými ukazovateľmi.
- Zvýšená odolnosť voči poškodeniu databáz v aplikáciách, ktoré uvoľňujú POSIX zámky prostredníctvom volania close().
- Zlepšená podpora platformy VxWorks.
Zdroj: opennet.ru
