Vydání SDB SQLite 3.45

Byl vydán nový SQLite 3.45, lehká databázová knihovna. Kód SQLite je šířen jako veřejné vlastnictví (public domain), tedy jej lze používat bez jakýchkoli omezení a bez nároku na odměnu pro jakékoli účely. Finanční podporu vývojářům SQLite zajišťuje speciálně vytvořený konsorcium, mezi které patří společnosti jako Bentley, Bloomberg, Expensify a Navigation Data Standard.

Hlavní změny:

  • Všechny SQL funkce pro práci s JSON formatem byly přepracovány a převedeny do nového interního formátu JSONB, který je serializován a může být uložen v databázi, aby se zabránilo opětovnému zpracování hodnot JSON. Nové verze funkcí pro generování JSON nyní generují binární formát JSONB místo textového. Funkci json_valid() byl přidán volitelný druhý argument, který může nastavit bitovou masku definující vlastnosti platného JSON (například s 0x04 bude platným blob JSONB, s 0x01 textový JSON ve formátu RFC-8259 a s 0x05 oba varianty).
  • Do virtuální tabulky FTS5, používané pro fulltextové vyhledávání, byla přidána možnost tokendata, která umožňuje používat vlastní tokenizer.
  • Ve výchozím nastavení je povolena optimalizace SQLITE_DIRECT_OVERFLOW_READ, při které jsou overflow stránky, jejichž velikost přesahuje standardní velikost b-tree stránky, čteny přímo z souboru, mimo cache. Pro deaktivaci při sestavování lze použít volbu „-DSQLITE_DIRECT_OVERFLOW_READ=0“.
  • V plánovači dotazů byla zvýšena efektivita optimalizace tranzitivních omezení a zlepšeno ignorování indexů, které jsou považovány za nízkokvalitní během operace ANALYZE.
  • V příkazovém rozhraní byla vylepšena podpora pro zobrazení obsahu v UTF-8 kódování na platformě Windows. Bylo zajištěno automatické rozpoznání používání CLI rozhraní při přehrávání skriptů „.dump“ a provedení příslušných úprav v nastaveních, jako jsou „.dbconfig defensive off“ a „.dbconfig dqs_dll on“.
  • Do SQL funkcí definovaných na straně aplikace bylo přidáno vlastnost SQLITE_RESULT_SUBTYPE, které umožňuje volat funkci sqlite3_result_subtype() pro inspekci podtypů argumentů.

Dále je třeba zmínit vývoj nového režimu záznamu transakcí v experimentálních sestaveních SQLite – WAL2 ("PRAGMA journal_mode = wal2"), při kterém se používají dva wal-soubory ("database-wal" a "database-wal2") místo jednoho. Při zápisu dat do DB se nová data přidávají do prvního wal-souboru. Pokud první wal-soubor dosáhne dostatečné velikosti, přepne se na zápis do druhého souboru. Po přepnutí na druhý wal-soubor se první stává dostupným pro potvrzení změn (checkpoint) a přepsání. Když druhý wal-soubor dosáhne velké velikosti, přepne se zpět na první atd., což řeší problém s nekontrolovatelným růstem wal-souboru v situacích, kdy dlouho nebyla potvrzena transakce nebo se provádějí dlouhé procesy čtení.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster