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, schopného běžet ve webovém prohlížeči a vhodného pro organizaci práce s databází z webových aplikací v JavaScriptu. Weboví vývojáři mají k dispozici objektově orientované rozhraní na vysoké úrovni pro práci s daty ve stylu sql.js nebo Node.js, vazbu přes nízkoúrovňové C API a API založené na mechanismu Web Worker, které umožňuje můžete vytvořit asynchronní obslužné rutiny spouštěné v samostatných vláknech. Data, která webové aplikace ukládají ve WASM verzi SQLite, mohou být uložena na straně klienta pomocí OPFS (Origin-Private FileSystem) nebo window.localStorage API.
  • Přidáno rozšíření pro obnovu určené k obnově dat z poškozených souborů z databáze. V rozhraní příkazového řádku se pro obnovu používá příkaz „.recover“.
  • Vylepšený výkon plánovače dotazů. Omezení byla odstraněna při použití indexů s tabulkami s více než 63 sloupci (dříve se indexování nepoužívalo při operacích se sloupci, jejichž pořadové číslo přesahuje 63). Vylepšené indexování hodnot používaných ve výrazech. Zastavilo se načítání velkých řetězců a objektů blob z disku při zpracování operátorů NOT NULL a IS NULL. Zhmotňování pohledů, u kterých je úplná kontrola provedena pouze jednou, je vyloučena.
  • V kódové základně se místo typu „char *“ používá samostatný typ sqlite3_filename k reprezentaci jmen souborů.
  • Přidána interní funkce sqlite3_value_encoding().
  • Přidán režim SQLITE_DBCONFIG_DEFENSIVE, který zakazuje změnu verze schématu ukládání dat.
  • Do implementace parametru „PRAGMA integrity_check“ byly přidány další kontroly. Například tabulky bez atributu STRICT nesmí obsahovat číselné hodnoty ve sloupcích typu TEXT a řetězcové hodnoty s čísly ve sloupcích typu NUMERIC. Přidána je také kontrola správného pořadí řádků v tabulkách s atributem „BEZ ŘÁDKU“.
  • Výraz "VACUUM INTO" zohledňuje nastavení "PRAGMA synchronous".
  • Přidána možnost 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 SQLite byl přesunut 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 s cílem snížit zatížení procesoru přibližně o 1 % při typické činnosti.

Zdroj: opennet.ru

Přidat komentář