SQLite 3.45 adatbázis-kezelő rendszer kiadása

Megjelent az SQLite 3.45, egy könnyű súlyú adatbázis-kezelő rendszer, amely dinamikusan csatolható könyvtár formájában érhető el. Az SQLite kódja közkincs (public domain), azaz korlátozások nélkül és ingyenesen felhasználható bármilyen célra. Az SQLite fejlesztőit egy külön létrehozott konzorcium támogatja, amelynek tagjai között olyan vállalatok találhatók, mint a Bentley, Bloomberg, Expensify és a Navigation Data Standard.

Főbb változások:

  • Minden SQL-funkció, amely a JSON formátummal dolgozik, újraírásra került és át lett alakítva egy új, belső JSONB fába. Ez a forma sorosítható és tárolható az adatbázisban, hogy elkerülje a JSON értékek újraelemzését. Az új JSON generáló funkciók mostantól a szöveges formátum helyett bináris JSONB formátumot állítanak elő. A json_valid() funkcióhoz opcionális második argumentum került hozzáadásra, amely lehetővé teszi egy bitmask megadását, amely a korrekt JSON tulajdonságait határozza meg (például, ha 0x04-et adunk meg, a JSONB blob korrektnek lesz tekintve, ha 0x01-et adunk meg, a szöveges JSON az RFC-8259 formátumban, míg 0x05 estén mindkét forma korrekt).
  • Az FTS5 virtuális táblához, amely teljes szöveges keresésre alkalmazható, hozzáadva az tokendata opciót, amely lehetővé teszi saját tokenizálók használatát.
  • Alapértelmezés szerint engedélyezve van az SQLITE_DIRECT_OVERFLOW_READ optimalizáció, amely lehetővé teszi, hogy a b-tree standard lapméretét meghaladó overflow lapok közvetlenül a fájlból legyenek olvasva, megkerülve a gyorsítótárat. Az építés során az opció használatával letiltható: '-DSQLITE_DIRECT_OVERFLOW_READ=0'.
  • A lekérdezés ütemezőben növelték a transzitiv kényszerek (transitive constraints) optimalizálásának hatékonyságát, és javították az alacsony minőségű indexek figyelmen kívül hagyását az ANALYZE művelet végrehajtásakor.
  • A parancssori felület javította a UTF-8 kódolású tartalom megjelenítését Windows platformon. Automatikusan felméri a CLI felület használatát a '.dump' szkriptek lejátszásakor és elvégzi a megfelelő változtatásokat a beállításokban, mint például a '.dbconfig defensive off' és a '.dbconfig dqs_dll on'.
  • Az alkalmazásoldalon definiált SQL-funkciókhoz hozzáadva az SQLITE_RESULT_SUBTYPE attribútum, amely lehetővé teszi a sqlite3_result_subtype() függvényből az argumentumok altype-jainak megfigyelését.

Továbbá megemelhető a SQLite kísérleti verzióinak egy új tranzakciós naplózási módja — WAL2 ("PRAGMA journal_mode = wal2"), ahol két wal-fájlt ("database-wal" és "database-wal2") használnak az egy helyett. Amikor adatokat írnak az adatbázisba, az új adatok a első wal-fájlba kerülnek. Ha az első wal-fájl elér egy kellően nagy méretet, átállnak a második fájlba való írásra. Az átállást követően az első fájl elérhetővé válik a módosítások rögzítésére (checkpoint) és újraírására. Ennek megfelelően, amikor a második wal-fájl elér egy nagy méretet, újra váltanak az elsőre, és így tovább, ami megoldja a wal-fájlkontrollálatlan növekedésének problémáját, amikor a tranzakciók hosszú ideig nem kerülnek rögzítésre, vagy hosszú olvasási folyamatok zajlanak.

Forrás: opennet.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