SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Április 9-én megjelent a 3.53.0 verziójú kompakt, kereszttplatformos beágyazott DBMS SQLite. A projekt kódja C nyelven íródott és közszabadságként (public domain) terjesztett.

Változások:

  • Hiba javítva WAL-reset adatbázis sérülés hiba. Lásd a korábbi hírt SQLite 3.51.3 hibákkal, amelyek a WAL módban adatbázis-károsodáshoz vezethetnek..
  • Az SQL-lekérdezések eredményeinek formázásához használt könyvtár hozzáadva Lekérdezési Eredmény Formázó (QRF) a fix szélességű betűtípusú képernyőn való könnyű olvasás érdekében.
  • Hozzáadva a módszert format refs TCL interfész a QRF eléréséhez TCL-ből.
    • A QRF mostantól használatban van a konzol alkalmazásban sqlite-ot fogunk használni. a lekérdezések eredményeinek formázására, ami javította azok megjelenítését.
  • Új SQL nyelvi lehetőségek:
    • Javítva van a parancs funkcionalitása ALTER TABLE a NOT NULL és CHECK megkötések hozzáadásának és eltávolításának lehetőségéért.
    • Operátor REINDEX KIFEJEZÉSEK a kifejezésindexek újraindexelését végzi. Hasznos elavult kifejezésindexek helyreállításához.
    • Most TEMP triggerek módosíthatják és/vagy lekérdezhetik az alapvető séma tábláiból származó adatokat.
    • Javítva van a parancs VACUUM INTO: ha a címzett URI formátumú fájlnevet tartalmazó címet használunk, amely kérdési paramétert tartalmaz reserve=N (ahol N 0 és 255 közötti szám), a létrehozott adatbázis másolatához tartozó fenntartási mennyiséget N értékre állítják be.
  • Új SQL funkciók hozzáadva:
  • Frissítések a konzol alkalmazásban:
    • Jelentős javítások a parancsban .mode.
    • Köszönhetően QRF kiterjesztésében az eredmények formázása javítva. Például mostantól a számok alapértelmezés szerint jobbra vannak igazítva a táblázatos kimeneti mód.
    • Alapértelmezés szerint a QRF-t most interaktív használat során a konzol alkalmazásban használják az Unicode blokkjellemzőkkel létrehozott blokkokban megjelenített lekérdezési eredmények megjelenítésére, ami javította az olvashatóságot. Az elavult kimeneti formátumot parancsok kötegelt végrehajtásakor használják a kompatibilitás érdekében.
    • Az egyedüli (nem idézőjelben szereplő) pontosvesszők a végén ponttal ellátott parancsok figyelmeztetés nélkül figyelmen kívül maradnak. Ez egy lehetséges inkompatibilitás!
    • Javítva a .testcase és .check parancsokat. Mostantól valóban működnek és használják őket az SQLite standard teszthalmazában szereplő szkriptekben, amelyek a forráskód részét képezik.
    • A parancssori argumentumok, amelyek megfelelnek a *.sql vagy *.txt mintáknak és üres fájlneveket képviselnek, betöltésre kerülnek és SQL-parancsokkal és/vagy [pontos parancsokkal]((https://sqlite.org/cli.html#dotcmd).
    • Most a .timer parancs argumentuma a once értéket kaphatja, így a timer csak a következő SQL-lekérdezés végrehajtásakor indul el.
    • Az új —timeout S paraméter a .progress parancsban megszakítja az SQL-lekérdezések végrehajtását, ha S másodperc eltelt.
    • A .indexes parancs módosult, így a PATTERN argumentum most a indexelési táblázat nevével, és nem az index nevével egyezik meg (ennek köszönhetően a PATTERN argumentum valóban hasznossá vált). Ezenkívül a .indexes parancshoz új lehetőségek kerültek hozzáadásra.
  • Fejlesztések a C API-ban:
  • Lekérdezéstervező fejlesztések:
    • Az EXCEPT, INTERSECT és UNION esetében mindig a rendezési és összevonási algoritmust alkalmazzuk, mivel ez szinte mindig gyorsabb, mint a hash-táblák használata.
    • Fejlesztések a join sorrend kiválasztásának mechanizmusában nagy többoldalú összekapcsolások végrehajtása során csillagdiagram-sémában.
    • Javították az EXISTS átalakítás optimálását JOIN-ra, így a behelyezett JOIN feltételek nem szükséges, hogy belső ciklusokban legyenek, feltéve, hogy az összes függőség az EXISTS JOIN-ba átírásának ciklusaiban a külső ciklusokban található.
    • Továbbfejlesztették az omit-noop-join optimalizálást, így képes kihagyni olyan csatlakozási láncokat, amelyek nem befolyásolják az eredményt.
    • Optimalizálva a lekérdezéseket, amelyek a GROUP BY e1 ORDER BY e2 használják, ahol e1 és e2 azonosak, kivéve a rendezési S/V sorrendet, egy index használatával.
    • A DISTINCT operátor optimalizálása virtuális táblákban olyan esetekben, amikor a lekérdezési eredmények halmaza nem teljesen felel meg az ORDER BY feltételnek.
  • A munkamenet kiterjesztése új interfészek kerültek hozzáadásra, amelyek lehetővé teszik az alkalmazás számára, hogy változtatásokat egyesével adjon hozzá az sqlite3_changegroup objektumhoz:
  • Javítások a lebegőpontos számok számra ↔ szöveggé konvertálásában.
    • A kód teljesen át lett írva a teljesítmény javítása érdekében.
    • Mostantól az alapértelmezett kerekítés 17 signifikáns számjegyre történik, a korábbi verziókban használt 15 helyett. Szükség esetén ez az érték módosítható a sqlite3_db_config függvény segítségével, SQLITE_DBCONFIG_FP_DIGITS (lásd a fent 6g pontot).
  • Hozzáadva a lehetőség önhelyreállító index probléma megoldására. kifejezésindexek helyreállításához.
  • A parancssori eszközbe sqlite3_rsync hozzáadva a -p|—port opció.
  • A támogatás leállítva Windows RT.
  • JavaScript/WASM
    • Hozzáadva a VFS opfs-wl, amely funkcionálisan az opfs-nek megfelelő, de Web Locks-ot használ a zárolásokhoz, lehetővé téve a zárolások igazságosabb elosztását, mint az opfs protokollnál. Az opfs-wl az Atomics.waitAsync() függvény meglétét igényli, így újabb böngésző verziókra van szükség a működéséhez, mint az opfs esetében.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster