SQLite 3.51 buraxılışı, yüngül bir SƏBİD, əlavə kitabxana şəklində tərtib edilmişdir. SQLite kodu ictimai mülkiyyətdədir (public domain) və bu səbəbdən istənilən məqsəd üçün məhdudiyyətsiz və pulsuz istifadə edilə bilər. SQLite inkişaf etdiricilərinin maliyyə dəstəyi üçün xüsusi bir konsorsium yaradılmışdır.
Əsas dəyişikliklər:
- Yeni JSON funksiyaları jsonb_each() və jsonb_tree() əlavə olunmuşdur. Bu funksiyalar əvvəlki json_each() və json_tree() funksiyalarından fərqlənir, çünki massiv və ya obyekt tipli məlumat üçün JSONB dəyərini qaytarır.
- carray və percentile genişləndirmələrinin kodu SQLite-ın içərisində olan faylına «sqlite3.c» köçürülmüşdür. Əlavələrin varsayılan olaraq deaktiv olduğu və «-DSQLITE_ENABLE_CARRAY» və «-DSQLITE_ENABLE_PERCENTILE» parametrinin yığılmasında göstərilməsinin tələb edildiyi diqqətə alınmalıdır.
- Tcl dilində SQLite istifadə etmək üçün interfeys yaxşılaşdırılmışdır. «eval» əmrinə, «dict» tipini istifadə edərək sətirləri göstərmək üçün «-asdict» bayrağı əlavə olunmuşdur. İstifadəçi funksiyalarını NULL dəyəri qaytarmaq üçün dayandırmaq imkanı əlavə olunmuşdur.
- Komanda xətti interfeysində dəyişikliklər:
- ».timer« əmrinin dəqiqliyi mikro saniyələrə qədər artırılmışdır;
- »box« və «column« formatlama rejimlərində ikili genişlikdə simvolların dəstəyi həyata keçirilmişdir;
- ».imposter« komandası artıq yalnız oxuma rejimində imposter cədvəllərini təqdim edə bilir (indekslərdəki məlumatlara cədvəl kimi çıxış etməyə imkan verir), VACUUM əməliyyatı ilə işləyir və «—unsafe-testing» bayrağı ilə işlədilməsini tələb etmir;
- sqlite vasitəsinə və «.open» komandasında «—ifexists» seçimi əlavə olunmuşdur.
- ».width« komandası ilə təyin olunan maksimum sətir genişliyi 30000 simvol ilə məhdudlaşdırılmışdır.
- Performans optimallaşdırmaları edilmişdir:
- Oxumağa məhdudlaşdırılmış tranzaksiyaların sabitləşdirilməsi zamanı CPU yükü azaldılmışdır;
- Sətir qaytarmayan birləşmə (JOIN) əməliyyatlarının tanınması yaxşılaşdırılmışdır, çünki bir və ya bir neçə cədvəl sətir yoxdur;
- Nəticəyə təsir etməyən skalar alt sorğuların yerinə yetirilməsi ləğv edilmişdir;
- «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» ifadəsi ilə olan sorğularda və «:y» dəyəri çox yüksək olan pəncərə funksiyalarının işləmə sürəti artırılmışdır.
- WAL logda dəyişiklikləri sərtləşdirmək üçün «PRAGMA wal_checkpoint=NOOP» pragması və sqlite3_wal_checkpoint() API funksiyası əlavə olunmuşdur.
- API-də sqlite3_set_errmsg() və sqlite3_db_status64() funksiyaları əlavə olunmuşdur.
- JavaScript/WASM-ə uyğun SQLite versiyasında WebAssembly görünüşündə 64-bit göstəricilərlə qurulma dəstəyi həyata keçirilmişdir.
- POSIX kilidlərini close() çağırışı vasitəsilə çıxaran tətbiqlərdə DB-nin zədələnməyə qarşı davamlılığı artırılmışdır.
- VxWorks platforması üçün dəstək yaxşılaşdırılmışdır.
Mənbə: opennet.ru
