SlÀppet av SQLite 3.45 har publicerats, en lÀttviktsdatabas som Àr utformad som ett bibliotek. Koden för SQLite distribueras som offentlig egendom, vilket innebÀr att den kan anvÀndas utan begrÀnsningar och kostnadsfritt för alla ÀndamÄl. Finansieringen av SQLite-utvecklarna stöds av en sÀrskilt skapad konsortium, som inkluderar företag som Bentley, Bloomberg, Expensify och Navigation Data Standard.
Huvudsakliga förÀndringar:
- Alla SQL-funktioner för arbete med JSON-formatet har skrivits om och översatts till ett nytt internt format för JSONB-parsantrÀd, som serialiseras och kan lagras i databasen för att undvika upprepade analyser av JSON-vÀrden. De nya versionerna av funktionerna som genererar JSON producerar nu det binÀra formatet JSONB istÀllet för textformatet. En valfri andra parameter har lagts till funktionen json_valid(), vilket gör det möjligt att ange en bitmask som definierar kriterier för korrekt JSON (till exempel, nÀr 0x04 anges, erkÀnns JSONB-blobben som korrekt, nÀr 0x01 anges erkÀnns text-JSON i RFC-8259-format och nÀr 0x05 anges erkÀnns bÄda varianterna).
- Den virtuella tabellen FTS5, som anvÀnds för fulltextsökning, har fÄtt en ny funktion tokendata som gör det möjligt att anvÀnda egna tokenizers.
- Som standard Àr optimeringen SQLITE_DIRECT_OVERFLOW_READ aktiverad, dÀr overflow-sidor som Àr större Àn den standardmÀssiga b-tree sidstorleken lÀses direkt frÄn filen, utan att gÄ igenom cachen. För att inaktivera den vid byggande kan alternativet "-DSQLITE_DIRECT_OVERFLOW_READ=0" anvÀndas.
- I frÄgeschemalÀggaren har effektiviteten av optimisering av transitiva begrÀnsningar (transitive constraint) ökat och ignorerandet av index som bedöms som lÄgt kvalitativa under ANALYZE-operationer har förbÀttrats.
- I kommandoradens grÀnssnitt har visningen av innehÄllet i UTF-8-kodning förbÀttrats pÄ Windows-plattformen. Automatisk detektering av anvÀndning av CLI-grÀnssnitt har sÀkerstÀllts vid körning av skript "dump" och nödvÀndiga förÀndringar i instÀllningarna har gjorts, sÄsom "dbconfig defensive off" och "dbconfig dqs_dll on".
- I SQL-funktioner som definieras pÄ applikationssidan har egenskapen SQLITE_RESULT_SUBTYPE lagts till, vilket tillÄter att funktionen sqlite3_result_subtype() anropas för inspektion av argumentens undertyper.
Dessutom kan man notera utvecklingen av den experimentella versionen av SQLite med en ny typ av transaktionsloggning â WAL2 ("PRAGMA journal_mode = wal2"), dĂ€r tvĂ„ WAL-filer ("database-wal" och "database-wal2") anvĂ€nds istĂ€llet för en. Vid skrivning av data till databasen lĂ€ggs nya data till i den första WAL-filen. Om den första WAL-filen nĂ„r en tillrĂ€ckligt stor storlek skiftas skrivningen till den andra filen. Efter att ha skiftat till den andra WAL-filen görs den första tillgĂ€nglig för att registrera Ă€ndringar (checkpoint) och skrivs över. PĂ„ sĂ„ sĂ€tt, nĂ€r den andra WAL-filen nĂ„r stor storlek, skiftas skrivningen tillbaka till den första och sĂ„ vidare, vilket löser problemet med okontrollerad tillvĂ€xt av WAL-filen i situationer dĂ€r transaktionen förblir oregistrerad under lĂ„ng tid eller lĂ„nga lĂ€sprocesser utförs.
KĂ€lla: opennet.ru
