Megjelent az SQLite 3.51, egy könnyűsúlyú DBMS, amely dinamikus könyvtárként van megfogalmazva. Az SQLite kódja közszolgáltatásként elérhető, ami azt jelenti, hogy korlátozások nélkül és ingyenesen használható bármilyen célra. Az SQLite fejlesztőinek pénzügyi támogatását egy kifejezetten erre a célra létrehozott konzorcium biztosítja.
Főbb változások:
- Új JSON-funkciók, a jsonb_each() és a jsonb_tree() kerültek bevezetésre, amelyek eltérnek a korábban elérhető json_each() és json_tree() funkcióktól, mivel JSONB értéket adnak vissza tömb vagy objektum típusú adatok esetén.
- A carray és percentile bővítmények kódja át lett helyezve az «sqlite3.c» alapfájlba az SQLite beépített kódjával. Alapértelmezés szerint ezek a kiegészítők ki vannak kapcsolva, és a «-DSQLITE_ENABLE_CARRAY» és «-DSQLITE_ENABLE_PERCENTILE» paraméterek megadását igénylik a fordítás során.
- Javították az SQLite használatát Tcl nyelvű szkriptekben. Az «eval» parancshoz hozzáadták a «-asdict» zászlót, amely a sorokat a «dict» típus használatával állítja elő a «array» helyett. Lehetőség nyílt a felhasználói funkciók megszakítására, hogy NULL értéket adjanak vissza.
- Változások a parancssori felületen:
- A «.timer» parancs pontossága mikroszekundumokig nőtt;
- A «box» és «column» formázási módokban támogatják a dupla szélességű karaktereket;
- A «.imposter» parancs most már olvasásra csak imposter-táblákat tud biztosítani (lehetővé teszi, hogy az index adatai táblaként legyenek elérhetők), amelyek a VACUUM művelettel működnek, és nem igénylik a «—unsafe-testing» zászlóval való indítást;
- Az sqlite utilitáshoz és a «.open» parancshoz hozzáadták a «—ifexists» opciót.
- A «.width» parancs által beállított maximális sor szélessége 30000 karakterre van korlátozva.
- Teljesítményoptimalizációk kerültek bevezetésre:
- Csökkentették a CPU terhelést a csak olvasási jogosultsággal rendelkező tranzakciók rögzítésekor;
- Javították az egyesítési (JOIN) műveletek meghatározását, amelyek nem adnak vissza sorokat, mivel az egyik vagy több táblának nincsenek sorai;
- Kizárták a skáláris alműveletek végrehajtását, amelyek nem befolyásolják az eredményt;
- Gyorsabbá váltak az ablaki funkciók a «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» kifejezést használó lekérdezésekben, és nagyon nagy értéknél a «:y» paraméternél.
- Hozzáadódott a «PRAGMA wal_checkpoint=NOOP» pragma és az sqlite3_wal_checkpoint() API funkció a WAL naplóban végrehajtott módosítások rögzítésére.
- Az API-hoz hozzáadták az sqlite3_set_errmsg() és sqlite3_db_status64() funkciókat.
- A JavaScript/WASM verziójú SQLite támogatja a WebAssembly nézetben való fordítást 64-bites mutatókkal.
- Növelt adatbázis-védelmi ellenállás a POSIX zárolásokat close() hívással kezelő alkalmazásokban.
- Javított VxWorks platform támogatás.
Forrás: opennet.ru
