Ilmus SQLite 3.45 versioon, kergekaaluline andmebaasi juhtimise sĂŒsteem, millel on dĂŒnaamilise teegi vorming. SQLite allika kood on avalik domeen (public domain), st seda saab kasutada piiranguteta ja tasuta mistahes eesmĂ€rkidel. SQLite arendajate rahalist toetust pakub spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevĂ”tted nagu Bentley, Bloomberg, Expensify ja Navigation Data Standard.
Peamised muudatused:
- KĂ”ik SQL-funktsioonid, mis töötavad JSON-formaadiga, on ĂŒmber kirjutatud ja viidud uude sisemisse JSONB puu struktuuri, mis seriaalitakse ja saab salvestada andmebaasis, et vĂ€ltida JSON vÀÀrtuste uuesti parsimist. Uued versioonid JSON-i genereerivatele funktsioonidele genereerivad nĂŒĂŒd binaarset JSONB vormingut tekstilise asemel. Funktsioonile json_valid() on lisatud valikuline teine argument, mille kaudu saab mÀÀrata bitimaski, mis mÀÀratleb kehtiva JSON-i omadusi (nĂ€iteks, kui mÀÀrata 0x04, tunnustatakse JSONB blobi, kui mÀÀrata 0x01, siis tunnustatakse tekstilist JSON-i RFC-8259 formaadis, ja kui mÀÀrata 0x05, siis mĂ”lemad variandid).
- FTS5 virtuaaltabelisse, mida kasutatakse tÀisteksti otsimiseks, on lisatud valik tokendata, mis vÔimaldab kasutada kohandatud tokeniseerijaid.
- Vaikimisi on sisse lĂŒlitatud SQLITE_DIRECT_OVERFLOW_READ optimiseerimine, mille korral overfl ow-lehekĂŒljed, mille suurus ĂŒletab b-puu standardlehekĂŒlje suurust, loetakse otse failist, jĂ€ttes vahemĂ€lu vahele. Selle keelamiseks kogumisel saab kasutada valikut â-DSQLITE_DIRECT_OVERFLOW_READ=0.â
- KĂŒsimuste planeerijas on parandatud transitiivsete piirangute (transitive constraint) optimeerimise efektiivsust ning paranenud on madala kvaliteediga indeksite ignoreerimine ANALYZE operatsiooni ajal.
- KĂ€skluste seadme liidese kasutajaliidese tĂ€iendatud kuvamine UTF-8 kodeeringus Windowsi platvormil. Tagatud on CLI liidese automaatne tuvastamine â.dumpâ skriptide taasesitamisel ning vastavad muudatused seadetes, nagu â.dbconfig defensive offâ ja â.dbconfig dqs_dll onâ.
- Rakenduste poolsetes SQL-funktsioonides on lisatud atribuut SQLITE_RESULT_SUBTYPE, mis vĂ”imaldab funktsioonist sqlite3_result_subtype() hinnata argumentide alamtĂŒĂŒpe.
Lisaks on mĂ€rkimisvÀÀrne, et eksperimentaalsetes SQLite kogudes on vĂ€lja arendatud uus tehingute logimise reĆŸiim â WAL2 (âPRAGMA journal_mode = wal2â), mille korral kasutatakse kahte wal-faili (âdatabase-walâ ja âdatabase-wal2â) ĂŒhe asemel. Andmete kirjutamisel andmebaasi lisatakse uued andmed esimesse wal-faili. Kui esimene wal-fail saavutab piisavalt suure suuruse, vahetatakse kirjutamine teise faili. PĂ€rast ĂŒleminekut teisele wal-failile muutub esimene kergesti kĂ€tte saada muudatuste fikseerimiseks (checkpoint) ja kirjutamiseks ĂŒle. SeetĂ”ttu, kui teine wal-fail saavutab suure suuruse, vahetatakse uuesti esimese ja nii edasi, mis lahendab probleemi wal-faili kontrollimatu suurenemisega olukordades, kus tehingut kaua ei fikseerita vĂ”i kus tehakse pikki lugemisprotsesse.
Allikas: opennet.ru
