Ështe publikuar lëshimi i SQLite 3.40, një DBMS e lehtë, e dizajnuar si një bibliotekë e lidhur. Kodi SQLite shpërndahet si pronë publike (public domain), dmth. mund të përdoret pa kufizime dhe pa pagesë për çdo qëllim. Mbështetje financiare për zhvilluesit e SQLite ofrohet nga një konsorci të krijuar veçmas, që përfshin kompani si Adobe, Oracle, Mozilla, Bentley dhe Bloomberg.
Ndryshimet kryesore:
- Është realizuar një mundësi eksperimentale për kompilim e SQLite në kod të ndërmjetëm WebAssembly, i aftë për t'u ekzekutuar në shfletuesin web dhe i përshtatshëm për organizimin e punës me DB nga aplikacione web të shkruara në gjuhën JavaScript. Zhvilluesit e web-it ofrohen një ndërfaqe objektiv-orientuar e nivelit të lartë për punën me të dhënat në stilin e sql.js ose Node.js, një mbështetje mbi API-në e ulët C dhe API-në mbi mekanizmin Web Worker, që lejon krijimin e trajtuesve asinchron të ekzekutuar në procese të veçanta. Të dhënat që aplikacionet web ruajnë në versionin WASM të SQLite mund të ruhen në anën e klientit duke përdorur OPFS (Origin-Private FileSystem) ose API-në window.localStorage.
- Добавлено расширение recovery, предназначенное для восстановления данных из повреждённых файлов с БД. В интерфейсе командной строки для восстановления используется команда «.recover».
- Është përmirësuar funksionimi i planifikuesit të kërkesave. Janë hequr kufizimet gjatë përdorimit të indekseve me tabela që kanë më shumë se 63 kolona (më parë gjatë operacioneve me kolona, numri rendor i të cilave kalonte 63, indekset nuk aplikohej). Është përmirësuar indeksimi i vlerave që përdoren në shprehje. Është ndaluar ngarkimi nga disku i rreshtave të mëdha dhe blob-eve gjatë procesimit të operatorëve NOT NULL dhe IS NULL. Është përjashtuar materializimi i pamjeve për të cilat skanimi i plotë kryhet vetëm një herë.
- В кодовой базе вместо типа «char *» для представления имён файлов задействован отдельный тип sqlite3_filename.
- Është shtuar funksioni i brendshëm sqlite3_value_encoding().
- Është shtuar mënyra SQLITE_DBCONFIG_DEFENSIVE, e cila ndalon ndryshimin e versionit të skemës së ruajtjes së të dhënave.
- В реализацию параметра «PRAGMA integrity_check» добавлены дополнительные проверки. Например, в таблицы без признака STRICT не должны содержать числовых значений в столбцах с типом TEXT и строковых значений с числами в столбцах с типом NUMERIC. Также добавлена проверка корректности порядка следования строк в таблицах с признаком «WITHOUT ROWID».
- В выражении «VACUUM INTO» учтены настройки «PRAGMA synchronous».
- Është shtuar opsioni i ndërtimit SQLITE_MAX_ALLOCATION_SIZE, që lejon kufizimin e madhësisë së blloqeve gjatë shpërndarjes së memories.
- Algoritmi i brendshëm i SQLite për gjenerimin e numrave të rastit është transferuar nga përdorimi i enkriptimit në rrjedhë RC4 në Chacha20.
- Është lejuar përdorimi i indekseve me emra të njëjtë në skema të ndryshme të të dhënave.
- Janë bërë optimizime të performancës, që kanë lejuar uljen e ngarkesës në CPU me rreth 1% gjatë aktivitetit të zakonshëm.
Burimi: opennet.ru
