Vydání SQLite 3.40

Bylo zveřejněno vydání SQLite 3.40, lehkého DBMS navrženého jako zásuvná knihovna. Kód SQLite je distribuován ve veřejné doméně, tzn. lze používat bez omezení a zdarma pro jakýkoli účel. Finanční podporu pro vývojáře SQLite zajišťuje speciálně vytvořené konsorcium, které zahrnuje společnosti jako Adobe, Oracle, Mozilla, Bentley a Bloomberg.

Hlavní změny:

  • Byla implementována experimentální funkce pro kompilaci SQLite do mezikódu WebAssembly, který lze spustit ve webovém prohlížeči a je vhodný pro práci s databází z webových aplikací v JavaScriptu. Weboví vývojáři mají k dispozici vysokoúrovňové objektově orientované rozhraní pro práci s daty ve stylu sql.js nebo Node.js, obal kolem nízkoúrovňového C API a API založené na mechanismu Web Worker, které umožňuje vytváření asynchronních procesorů běžících v samostatných vláknech. Data uložená webovými aplikacemi ve verzi SQLite WASM lze ukládat na straně klienta pomocí OPFS (Origin-Private FileSystem) nebo window.localStorage API.
  • Bylo přidáno rozšíření pro obnovu dat z poškozených databázových souborů. Příkaz „recover“ se používá pro obnovu v rozhraní příkazového řádku.
  • Výkon plánovače dotazů byl vylepšen. Byla odstraněna omezení pro používání indexů s tabulkami s více než 63 sloupci (dříve se indexování nepoužívalo na operace se sloupci s pořadovými čísly většími než 63). Bylo vylepšeno indexování hodnot použitých ve výrazech. Bylo zastaveno načítání velkých řádků a blobů z disku při zpracování operátorů NOT NULL a IS NULL. Byla odstraněna materializace pohledů, pro které se úplné skenování provádí pouze jednou.
  • V kódové základně se místo typu „char *“ používá samostatný typ sqlite3_filename pro reprezentaci názvů souborů.
  • Přidána interní funkce sqlite3_value_encoding().
  • Přidán režim SQLITE_DBCONFIG_DEFENSIVE, který zakazuje změnu verze schématu úložiště dat.
  • Do implementace parametru „PRAGMA integrity_check“ byly přidány další kontroly. Například tabulky bez příznaku STRICT nesmí obsahovat číselné hodnoty ve sloupcích TEXT ani řetězcové hodnoty s čísly ve sloupcích NUMERIC. Pro tabulky s příznakem „WITHOUT ROWID“ byla také přidána kontrola správného pořadí řádků.
  • Příkaz „VACUUM INTO“ zohledňuje nastavení „PRAGMA synchronní“.
  • Přidána volba sestavení SQLITE_MAX_ALLOCATION_SIZE, která umožňuje omezit velikost bloků při alokaci paměti.
  • Vestavěný algoritmus generování pseudonáhodných čísel v SQLite byl migrován z používání proudové šifry RC4 na Chacha20.
  • Je povoleno používat indexy se stejnými názvy v různých datových schématech.
  • Byly provedeny optimalizace výkonu, které snižují zatížení CPU přibližně o 1 % během typické činnosti.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster