Vydanie SQLite 3.40

Bolo zverejnené vydanie SQLite 3.40, ľahkého DBMS navrhnutého ako zásuvná knižnica. Kód SQLite je distribuovaný vo verejnej doméne, t.j. možno použiť bez obmedzení a bezplatne na akýkoľvek účel. Finančnú podporu pre vývojárov SQLite poskytuje špeciálne vytvorené konzorcium, ktoré zahŕňa spoločnosti ako Adobe, Oracle, Mozilla, Bentley a Bloomberg.

Hlavné zmeny:

  • Implementovaná experimentálna schopnosť skompilovať SQLite do intermediárneho kódu WebAssembly, ktorý môže bežať vo webovom prehliadači a je vhodný na organizáciu práce s databázou z webových aplikácií v jazyku JavaScript. Weboví vývojári majú k dispozícii objektovo orientované rozhranie na vysokej úrovni na prácu s údajmi v štýle sql.js alebo Node.js, zalamovanie cez nízkoúrovňové C API a API založené na mechanizme Web Worker, ktoré vám umožňuje na vytvorenie asynchrónnych obslužných programov, ktoré bežia na samostatných vláknach. Dáta, ktoré webové aplikácie ukladajú vo WASM verzii SQLite, môžu byť uložené na strane klienta pomocou OPFS (Origin-Private FileSystem) alebo window.localStorage API.
  • Pribudlo rozšírenie obnovy určené na obnovu údajov z poškodených súborov z databázy. Rozhranie príkazového riadku používa na obnovenie príkaz „.recover“.
  • Vylepšený výkon plánovača dotazov. Obmedzenia boli odstránené pri používaní indexov s tabuľkami s viac ako 63 stĺpcami (predtým sa indexovanie neaplikovalo na operácie so stĺpcami, ktorých poradové číslo presahovalo 63). Vylepšené indexovanie hodnôt použitých vo výrazoch. Zastavilo sa načítavanie veľkých reťazcov a blobov z disku pri spracovaní operátorov NOT NULL a IS NULL. Vylúčená materializácia pohľadov, pri ktorých sa úplné skenovanie vykoná iba raz.
  • V kódovej základni sa namiesto použitia typu „char *“ používa samostatný typ sqlite3_filename na reprezentáciu názvov súborov.
  • Pridaná interná funkcia sqlite3_value_encoding().
  • Pridaný režim SQLITE_DBCONFIG_DEFENSIVE, ktorý zakazuje zmenu verzie schémy úložiska.
  • Do implementácie parametra „PRAGMA integrity_check“ boli pridané ďalšie kontroly. Napríklad tabuľky bez atribútu STRICT nesmú obsahovať číselné hodnoty v stĺpcoch TEXT a reťazcové hodnoty s číslami v NUMERICKÝCH stĺpcoch. Pridaná je aj kontrola správnosti poradia riadkov v tabuľkách so znakom „BEZ RIADKU“.
  • Výraz "VACUUM INTO" rešpektuje nastavenia "PRAGMA synchronous".
  • Pridaná voľba zostavy SQLITE_MAX_ALLOCATION_SIZE na obmedzenie veľkosti bloku pri prideľovaní pamäte.
  • Algoritmus na generovanie pseudonáhodných čísel zabudovaný do SQLite bol presunutý z používania prúdovej šifry RC4 na Chacha20.
  • Je povolené používať indexy s rovnakým názvom v rôznych dátových schémach.
  • Optimalizácia výkonu bola vykonaná s cieľom znížiť zaťaženie procesora približne o 1 % pri typickej činnosti.

Zdroj: opennet.ru

Pridať komentár