SQLite 3.40 leidimas

Paskelbtas SQLite 3.40, lengvos DBVS, sukurtos kaip papildinių biblioteka, leidimas. SQLite kodas platinamas kaip viešasis domenas, t.y. gali būti naudojamas be apribojimų ir nemokamai bet kokiam tikslui. Finansinę paramą SQLite kūrėjams teikia specialiai sukurtas konsorciumas, į kurį įeina tokios kompanijos kaip Adobe, Oracle, Mozilla, Bentley ir Bloomberg.

Pagrindiniai pakeitimai:

  • Įdiegta eksperimentinė funkcija, skirta SQLite kompiliuoti į tarpinį WebAssembly kodą, galintį veikti žiniatinklio naršyklėje ir tinkamam darbui su duomenų baze organizuoti iš žiniatinklio programų JavaScript. Žiniatinklio kūrėjams suteikiama aukšto lygio objektinė sąsaja, skirta dirbti su duomenimis sql.js arba Node.js stiliaus, susiejimas per žemo lygio C API ir API, pagrįsta Web Worker mechanizmu, kuris leidžia galite sukurti asinchronines tvarkykles, vykdomas atskirose gijose. Duomenys, kuriuos žiniatinklio programos saugo WASM SQLite versijoje, gali būti saugomi kliento pusėje naudojant OPFS (Origin-Private FileSystem) arba window.localStorage API.
  • Pridėtas atkūrimo plėtinys, skirtas atkurti duomenis iš sugadintų failų iš duomenų bazės. Komandinės eilutės sąsajoje atkūrimui naudojama komanda „.recover“.
  • Pagerintas užklausų planavimo priemonės našumas. Apribojimai buvo panaikinti naudojant indeksus su lentelėmis, kuriose yra daugiau nei 63 stulpeliai (anksčiau indeksavimas nebuvo taikomas atliekant operacijas su stulpeliais, kurių eilės skaičius viršija 63). Patobulintas išraiškose naudojamų verčių indeksavimas. Apdorojant NOT NULL ir IS NULL operatorius, sustabdytas didelių eilučių ir dėmių įkėlimas iš disko. Rodinių, kurių pilnas nuskaitymas atliekamas tik vieną kartą, materializavimas neįtraukiamas.
  • Kodų bazėje vietoj „char *“ tipo naudojamas atskiras tipas sqlite3_filename, vaizduojantis failų pavadinimus.
  • Pridėta vidinė funkcija sqlite3_value_encoding().
  • Pridėtas SQLITE_DBCONFIG_DEFENSIVE režimas, kuris draudžia keisti duomenų saugojimo schemos versiją.
  • Papildomi patikrinimai buvo įtraukti į parametro „PRAGMA integrity_check“ įgyvendinimą. Pavyzdžiui, lentelėse be atributo STRICT neturi būti skaitinių reikšmių TEXT tipo stulpeliuose ir eilučių reikšmių su skaičiais SKAIČIŲ tipo stulpeliuose. Taip pat pridedama teisingos eilučių tvarkos patikrinimas lentelėse su atributu „WITHOUT ROWID“.
  • Išraiškoje „VACUUM INTO“ atsižvelgiama į „PRAGMA synchronous“ nustatymus.
  • Pridėta surinkimo parinktis SQLITE_MAX_ALLOCATION_SIZE, kuri leidžia apriboti blokų dydį skirstant atmintį.
  • SQLite integruotas pseudoatsitiktinių skaičių generavimo algoritmas buvo perkeltas iš RC4 srauto šifro naudojimo į Chacha20.
  • Skirtingose ​​duomenų schemose leidžiama naudoti indeksus tais pačiais pavadinimais.
  • Atliktas našumo optimizavimas, siekiant sumažinti procesoriaus apkrovą maždaug 1 % įprastos veiklos metu.

Šaltinis: opennet.ru

Добавить комментарий