ĂshtĂ« publikuar versioni i SQLite 3.45, njĂ« DBMS e lehtĂ«, e cila Ă«shtĂ« zhvilluar si njĂ« bibliotekĂ« e integruar. Kodi i SQLite shpĂ«rndahet si pronĂ« publike (public domain), pra mund tĂ« pĂ«rdoret pa kufizime dhe pa shpĂ«rblim pĂ«r qĂ«llime tĂ« ndryshme. MbĂ«shtetjen financiare pĂ«r zhvilluesit e SQLite e ofron njĂ« konsorcium i krijuar posaçërisht, ku pĂ«rfshihen kompani tĂ« tilla si Bentley, Bloomberg, Expensify dhe Navigation Data Standard.
Ndryshimet kryesore:
- Të gjitha funksionet SQL për punë me formatin JSON janë rishkruar dhe konvertuar në formatin e ri të brendshëm të pemës së parse JSONB, e cila serializohet dhe mund të ruhet në DB për të eliminuar nevojën për rishikim të përsëritur gjatë përdorimit të vlefshmërisë JSON. Versionet e reja të funksioneve që krijojnë JSON tani gjenerojnë formatin binar JSONB në vend të atij tekstual. Në funksionin json_valid() është shtuar një argument i dytë opsional, përmes së cilës mund të caktohet një maskë bitore që përcakton karakteristikat e një JSON të saktë (për shembull, duke caktuar 0x04, një blob JSONB do të konsiderohej i saktë, duke caktuar 0x01, JSON i tekstit në formatin RFC-8259, dhe duke caktuar 0x05, të dyja opsionet).
- Në tabelën virtuale FTS5, e cila përdoret për kërkim të plotë të teksteve, është shtuar opsioni tokendata, i cili lejon përdorimin e tokenizuesve të vet.
- Optimizimi SQLITE_DIRECT_OVERFLOW_READ është aktivizuar në mënyrë të paracaktuar, në të cilin faqet overflow, të cilat janë më të mëdha se madhësia standarde e faqes b-tree, lexohen direkt nga skedari, duke anashkaluar cache-n. Për të çaktivizuar këtë gjatë ndërtimit, mund të përdoret opsioni "-DSQLITE_DIRECT_OVERFLOW_READ=0".
- Në planifikuesin e pyetjeve është përmirësuar efikasiteti i optimizimit të kufijve tranzitivë (transitive constraint) dhe është përmirësuar injorimi i indekseve që janë konsideruar si të ulët cilësorë gjatë kryerjes së operacionit ANALYZE.
- NĂ« ndĂ«rfaqen e komandĂ«s, Ă«shtĂ« pĂ«rmirĂ«suar shfaqja e pĂ«rmbajtjes nĂ« kodimin UTF-8 nĂ« platformĂ«n Windows. ĂshtĂ« siguruar njĂ« identifikim automatik i pĂ«rdorimit tĂ« ndĂ«rfaqes CLI gjatĂ« riprodhimit tĂ« skripteve â.dumpâ dhe bĂ«hen pĂ«rmirĂ«sime pĂ«rkatĂ«se nĂ« konfigurime, tĂ« tilla si â.dbconfig defensive offâ dhe â.dbconfig dqs_dll onâ.
- Në funksionet SQL të përkufizuara anësore, është shtuar pronësia SQLITE_RESULT_SUBTYPE, e cila lejon thirrjen e funksionit sqlite3_result_subtype() për inspektimin e nënformat e argumenteve.
NjĂ« zhvillim i rĂ«ndĂ«sishĂ«m nĂ« versionet eksperimentale tĂ« SQLite Ă«shtĂ« njĂ« mĂ«nyrĂ« e re e regjistrimit tĂ« transaksioneve â WAL2 ("PRAGMA journal_mode = wal2"), ku pĂ«rdoren dy skedarĂ« wal ("database-wal" dhe "database-wal2") nĂ« vend tĂ« njĂ«rit. Kur shkruhen tĂ« dhĂ«na nĂ« databaze, tĂ« dhĂ«nat e reja shtohen nĂ« skedarin e parĂ« wal. NĂ«se skedari i parĂ« wal arrin njĂ« madhĂ«si tĂ« mjaftueshme, kalimi pĂ«r tĂ« shkruar nĂ« skedarin e dytĂ« bĂ«het. Pas kalimit nĂ« skedarin e dytĂ« wal, i pari bĂ«het i disponueshĂ«m pĂ«r regjistrimin e ndryshimeve (checkpoint) dhe pĂ«rshkrim. PĂ«r pasojĂ«, kur skedari i dytĂ« wal arrin njĂ« madhĂ«si tĂ« madhe, kalimi kthehet nĂ« tĂ« parin dhe kĂ«shtu me radhĂ«, e cila zgjidh problemin me rritjen e pakontrolluar tĂ« skedarit wal nĂ« situata ku transaksioni mbetet i pandryshuar pĂ«r njĂ« kohĂ« tĂ« gjatĂ« ose kur kryhen procese tĂ« zgjatura leximi.
Burimi: opennet.ru
