Publicēts SQLite 3.51 laidienu, viegla datu bāze, kas pieejama kā saistāma bibliotēka. SQLite kods tiek izplatīts kā publiska īpašuma (public domain) saturs, t.i., to var izmantot bez ierobežojumiem un bez maksas jebkādiem mērķiem. Finansiālo atbalstu SQLite izstrādātājiem sniedz īpaši izveidots konsorcijs.
Galvenās izmaiņas:
- Pievienotas jaunas JSON funkcijas jsonb_each() un jsonb_tree(), kas atšķiras no iepriekšējām pieejamajām funkcijām json_each() un json_tree() ar to, ka tās atgriež JSONB vērtības, ja datu tips ir masīvs vai objekts.
- Paplašināto kods carray un percentile ir pārvietots uz pamfajlu «sqlite3.c» ar iebūvēto SQLite kodu. Noklusējuma, papildinājumi ir atslēgti, un pasākumi «-DSQLITE_ENABLE_CARRAY» un «-DSQLITE_ENABLE_PERCENTILE» ir jānorāda kompilācijas laikā.
- Uzlabota saskarne SQLite izmantošanai Tcl skriptu valodā. Komandai «eval» pievienots karogs «-asdict», lai izvadītu virknes ar «dict» tipa izmantošanu, nevis «array». Pievienota iespēja pārtraukt lietotāja funkcijas, lai atgrieztu NULL vērtību.
- Izmaiņas komandlīnijas saskarnē:
- Komandas «.timer» precizitāte palielināta līdz mikrosekundēm;
- Formatēšanas režīmos «box» un «column» ieviesta divu platumu rakstzīmju atbalsts;
- Komanda «.imposter» tagad var nodrošināt tikai lasāmās imposter tabulas (ļauj piekļūt datiem indeksā kā tabulai), kas strādā ar VACUUM operāciju un neprasa palaišanu ar karogu «—unsafe-testing»;
- SQLite rīku un komandas «.open» ir pievienota opcija «—ifexists».
- Maksimālais rindu platums, kas iestatīts ar komandu «.width», tiek ierobežots līdz 30000 rakstzīmēm.
- Veiktas veiktspējas optimizācijas:
- Samazināta slodze uz CPU transaction fiksācijas laikā, kad piekļuve ierobežota uz lasīšanu;
- Uzlabota apvienošanas (JOIN) operāciju noteikšana, kas neatgriež rindas pamatojoties uz to, ka viena vai vairākas tabulas nesatur rindas;
- Izslēgta skalārās apakšvaicājuma izpilde, kas neietekmē rezultātu;
- Paātrināta logu funkciju darbība vaicājumos ar izteiksmi «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» un ļoti lielu «:y» vērtību.
- Pievienoti pragma «PRAGMA wal_checkpoint=NOOP» un API funkcija sqlite3_wal_checkpoint() izmaiņu fiksēšanai WAL žurnālā.
- API pievienotas funkcijas sqlite3_set_errmsg() un sqlite3_db_status64().
- JavaScript/WASM SQLite versijā atbalstīta sējuma veidošana WebAssembly ar 64 bitu adresēm.
- Palielināta datu bāzu izturība pret bojājumiem lietojumprogrammās, kas noņem POSIX bloķējumus, izmantojot close() izsaukumu.
- Uzlabota VxWorks platformas atbalsts.
Avots: opennet.lv
