ĂshtĂ« publikuar versioni SQLite 3.40, njĂ« DBMS i lehtĂ«, i projektuar si njĂ« bibliotekĂ« e lidhur. Kodi SQLite shpĂ«rndahet si pasuri publike, pra mund tĂ« pĂ«rdoret pa kufizime dhe pa shpĂ«rblim pĂ«r çdo qĂ«llim. MbĂ«shtetja financiare pĂ«r zhvilluesit e SQLite ofrohet nga njĂ« konsorcium i krijuar posaçërisht, qĂ« pĂ«rfshin kompani si Adobe, Oracle, Mozilla, Bentley dhe Bloomberg.
Ndryshimet kryesore:
- ĂshtĂ« realizuar njĂ« mundĂ«si eksperimentale pĂ«r kompilimin e SQLite nĂ« kodin ndĂ«rmjetĂ«s WebAssembly, i cili mund tĂ« ekzekutohet nĂ« shfletuesin web dhe Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r organizimin e punĂ«s me databaza nga aplikacionet web nĂ« gjuhĂ«n JavaScript. Zhvilluesit web ofrohen me njĂ« ndĂ«rfaqe tĂ« orientuar nga objekti pĂ«r punĂ«n me tĂ« dhĂ«nat nĂ« stilin sql.js ose Node.js, njĂ« mbĂ«shtetje mbi API-nĂ« e ulĂ«t C dhe njĂ« API tĂ« bazuar nĂ« mekanizmin Web Worker, qĂ« lejon krijimin e pĂ«rpunuesve asinkronĂ« qĂ« ekzekutohen nĂ« tahanqe tĂ« veçanta. TĂ« dhĂ«nat qĂ« aplikacionet web ruajnĂ« nĂ« versionin WASM tĂ« SQLite, mund tĂ« ruhen nĂ« anĂ«n e klientit me ndihmĂ«n e OPFS (Origin-Private FileSystem) ose API-sĂ« window.localStorage.
- ĂshtĂ« shtuar zgjatimi recovery, qĂ« Ă«shtĂ« dedikuar pĂ«r rikuperimin e tĂ« dhĂ«nave nga skedarĂ«t e dĂ«mtuar tĂ« DB-sĂ«. NĂ« ndĂ«rfaqen e komandave, pĂ«r rikuperim pĂ«rdoret komanda " .recover ".
- ĂshtĂ« pĂ«rmirĂ«suar funksionimi i planifikuesit tĂ« kĂ«rkesave. Kufizimet janĂ« hequr kur pĂ«rdoren indekset me tabela qĂ« kanĂ« mĂ« shumĂ« se 63 kolona (mĂ« parĂ«, gjatĂ« operacioneve me kolona, numri serial i tĂ« cilave kalonte 63, indeksoni nuk aplikohej). ĂshtĂ« pĂ«rmirĂ«suar indeksoni i vlerave tĂ« pĂ«rdorura nĂ« shprehje. ĂshtĂ« ndaluar ngarkimi nga disku i vargjeve dhe blob-eve tĂ« mĂ«dha gjatĂ« pĂ«rpunimit tĂ« operatorĂ«ve NOT NULL dhe IS NULL. ĂshtĂ« eliminuar materializimi i pamjeve pĂ«r tĂ« cilat skanimi i plotĂ« bĂ«het vetĂ«m njĂ« herĂ«.
- Në bazën e kodit, në vend të tipit "char *" për përfaqësimin e emrave të skedarëve është angazhuar një tip i veçantë sqlite3_filename.
- ĂshtĂ« shtuar funksioni i brendshĂ«m sqlite3_value_encoding().
- ĂshtĂ« shtuar moda SQLITE_DBCONFIG_DEFENSIVE, qĂ« ndalon ndryshimin e versionit tĂ« skemĂ«s sĂ« ruajtjes sĂ« tĂ« dhĂ«nave.
- Parametri «PRAGMA integrity_check» tani ka kontabilizuar kontrolle shtesë. Për shembull, tabelat pa shenjën STRICT nuk duhet të përmbajnë vlera numerike në kolona me llojin TEXT dhe vlera string në kolona me llojin NUMERIC. Gjithashtu, është shtuar kontrolli për renditjen e saktë të rreshtave në tabelat me shenjën «WITHOUT ROWID».
- Në shprehjen «VACUUM INTO» janë marrë parasysh cilësimet «PRAGMA synchronous».
- Shtuar opsioni i ndërtimit SQLITE_MAX_ALLOCATION_SIZE, i cili lejon kufizimin e madhësisë së blloqeve gjatë ndarjes së memories.
- Algoritmi i ndërtuar në SQLite për gjenerimin e numrave pseudokategorikë është kaluar nga përdorimi i enkriptimit RC4 në Chacha20.
- Lejohet përdorimi në skema të ndryshme të të dhënave të indekseve me emra të njëjtë.
- Janë bërë optimizime të performancës që kanë lejuar reduktimin e ngarkesës në CPU me rreth 1% gjatë aktivitetit të zakonshëm.
Burimi: opennet.ru
