SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Április 9-én jelent meg a kompakt, platformfüggetlen beágyazott adatbázis-kezelő rendszer 3.53.0-s verziója. SQLiteA projekt kódja C nyelven íródott és nyilvánosan terjeszthető.

Változtatások:

  • Javítva a hiba WAL-reset adatbázis sérülési hibaLásd a korábbi híreket Az SQLite 3.51.3 kijavítja a WAL módban előforduló adatbázis-hibákat.
  • Hozzáadott egy könyvtárat az SQL lekérdezések eredményeinek formázásához Lekérdezés eredményformázó (QRF) hogy fix szélességű betűtípussal rendelkező képernyőn könnyen olvasható legyen.
  • Hozzáadott módszer formátum к TCL interfész a QRF eléréséhez a TCL-től.
    • A QRF mostantól használható a konzol segédprogramban. sqlite a lekérdezési eredmények formázásához, a megjelenítésük javításához.
  • Az SQL nyelv új funkciói:
    • Továbbfejlesztett parancsnoki képességek ALTER TABLE hogy lehetővé tegye a NOT NULL és CHECK korlátozások hozzáadását és eltávolítását.
    • operátor KIFEJEZÉSEK ÚJRAINDEXELÉSE kifejezésindexek újraindexelését végzi. Hasznos a helyreállításhoz örökölt kifejezésindexek.
    • Most TEMP-eseményindítók módosíthatja és/vagy lekérdezheti az adatokat a fő sématáblákból.
    • Továbbfejlesztett parancs PORSZÍV BE: Ha a cél egy URI formátumú fájlnév, amely tartalmazza a reserve=N lekérdezési paramétert (ahol N egy 0 és 255 közötti szám), akkor a létrehozott adatbázispéldány foglalási mérete N értékre van állítva.
  • Új SQL függvények hozzáadva:
  • Frissítések be konzol segédprogram:
    • Jelentős csapatfejlesztések .mód.
    • köszönöm QRF bővítés Az eredmények formázása is javult. Például a számok mostantól alapértelmezés szerint jobbra vannak igazítva a táblázatos kimenet.
    • Alapértelmezés szerint a QRF formátumot használja a rendszer a konzol segédprogram interaktív használatakor a lekérdezési eredmények Unicode blokkrajzoló karakterekkel létrehozott blokkokban történő megjelenítéséhez, ami javítja az olvashatóságot. Kompatibilitási okokból a parancsok kötegelt végrehajtásakor a korábbi kimeneti formátumot használja a rendszer.
    • Egyszeres (idézőjelek nélküli) pontosvessző a végén pontparancsok figyelmeztetés nélkül figyelmen kívül hagyják. Ez egy lehetséges összeférhetetlenség!
    • A .testcase és .check parancsok javításra kerültek. Most már működnek, és a forráskódban található standard SQLite tesztcsomagban található szkriptekben is használatban vannak.
    • A *.sql vagy *.txt mintáknak megfelelő, nem üres fájlok neveit tartalmazó parancssori argumentumokat a rendszer SQL utasításokat és/vagy [pontparancsokat](( tartalmazó szkriptekként olvassa és értelmezi.https://sqlite.org/cli.html#dotcmd).
    • Mostantól egyszer megadható argumentumként a .timer parancsnak, hogy az időzítő csak a következő SQL lekérdezés végrehajtásakor induljon el.
    • A .progress parancs új --timeout S opciója miatt az SQL lekérdezések végrehajtása S másodperc után leáll.
    • Az .indexes parancsot úgy módosították, hogy a PATTERN argumentum mostantól az index nevére egyezik, nem pedig az indexelt tábla nevére (így a PATTERN argumentum valóban hasznossá vált). Ezenkívül számos új opció került hozzáadásra az .indexes parancshoz.
  • Fejlesztések a C API-ban:
  • Lekérdezéstervező fejlesztései:
    • Az EXCEPT, INTERSECT és UNION esetén mindig a rendezési és egyesítési algoritmust használjuk, mivel ez szinte mindig gyorsabb, mint a hash táblák használata.
    • Fejlesztések a csatlakozási sorrend kiválasztási mechanizmusában nagyméretű, többirányú csatlakozások csillag alakú elrendezésben történő végrehajtásakor.
    • Továbbfejlesztettük az EXISTS-ből JOIN-ba konverzió optimalizálását, így a beszúrt JOIN feltételeknek nem kell belső ciklusokban lenniük, feltéve, hogy az EXISTS-ből JOIN konverziós ciklusok összes függősége külső ciklusokban van.
    • Továbbfejlesztett omit-noop-join optimalizálás, így kihagyható az eredményt nem befolyásoló join lánc.
    • Lekérdezések optimalizálása a GROUP BY e1 és ORDER BY e2 használatával, ahol e1 és e2 azonosak, kivéve az ASC/DESC rendezési sorrendet, egyetlen index használatával.
    • Optimalizálja a DISTINCT operátort virtuális táblákban, ha a lekérdezés eredményhalmaza nem felel meg teljesen az ORDER BY feltételnek.
  • В munkamenet-kiterjesztés Új interfészek kerültek hozzáadásra, amelyek lehetővé teszik az alkalmazások számára, hogy egyenként adják hozzá a módosításokat az sqlite3_changegroup objektumhoz:
  • Fejlesztések a lebegőpontos ↔ szöveg konverzióban.
    • A kódot teljesen átírták a teljesítmény javítása érdekében.
    • A kerekítés mostantól az alapértelmezett 17-ig gyártották értékes számjegyek 15 helyett, mint az összes korábbi verzióban. Szükség esetén ez az érték a függvénnyel módosítható. sqlite3_db_config opcióval SQLITE_DBCONFIG_FP_DIGITS (lásd a fenti 6g. pontot).
  • Hozzáadott funkció öngyógyító index a probléma megoldására örökölt kifejezésindexek.
  • A konzol segédprogramban sqlite3_rsync Hozzáadott -p|—port kapcsoló.
  • A támogatás megszűnt RT Windows-.
  • JavaScript/WASM
    • Hozzáadtuk az opfs-wl VFS-t. Funkcionálisan megegyezik az opfs-szel, de Web Locks-ot használ a zárolásokhoz, biztosítva a zárolások igazságosabb elosztását, mint az opfs protokoll. Az opfs-wl megköveteli az Atomics.waitAsync() függvényt, így újabb böngészőverziókat igényel, mint az opfs.

Forrás: linux.org.ru

Hozzászólás