9. aprillil ilmus versioon 3.53.0 kompaktne platvormidevaheline sisseehitatud DBMS SQLite. Projekti kood on kirjutatud C keeles ja levitatakse kui avalik domeen.
Muudatused:
- Parandatud tĂ”rge WAL-i lĂ€htestamise andmebaasi rikkumise tĂ”rge. Vaata eelmist uudist SQLite 3.51.3 koos vĂ”imaliku WAL-reĆŸiimi andmebaasi kahjustamise parandamisega.
- Lisatud SQL-pÀringute tulemuste vormindamise teek Query Result Formatter (QRF) ekraanil mugavama lugemise tagamiseks fikseeritud laiusse.
- Lisatud meetod format aadressile TCL liidese JuurdepÀÀsuks QRF-ile TCL-ist.
- QRF-i kasutatakse nĂŒĂŒd konsooli utiliidis sqlite pĂ€ringute tulemuste vormindamiseks, mis parandas nende kuvamist.
- Uued SQL-i keele vÔimalused:
- Parandatud kÀsku ALTER TABLE NOT NULL ja CHECK piirangute lisamise ja eemaldamise vÔimaldamiseks.
- Operaator REINDEX EXPRESSIONS teeb vĂ€ljendi indeksite ĂŒmberindekseerimise. Kasulik ajaloo taastamiseks aegunud vĂ€ljendi indeksid.
- NĂŒĂŒd TEMP-triggerid saavad muuta ja/vĂ”i kĂŒsida andmeid pĂ”hiskeemi tabelitest.
- Parandatud kÀsku VACUUM INTO: kui failinime sihtaadressiks on URI formaadis nimi, mis sisaldab pÀringuparametrit reserve=N (kus N on number vahemikus 0 kuni 255), mÀÀratakse loodud andmebaasi koopiale reserveerimise maht N-ks.
- Lisatud uued SQL-funktsioonid:
- Uuendused konsooli utiliidis:
- Olulised tÀiustused kÀsus .mode.
- TĂ€nu QRF-i laienduse parandatud tulemuste vormindamine. NĂ€iteks numbrid on nĂŒĂŒd vaikimisi paremale joondatud reĆŸiimis tabelivĂ€ljund.
- Vaikimisi kasutatakse nĂŒĂŒd QRF-i interaktiivsel kujul konsooli utiliidis pĂ€ringute tulemuste kuvamiseks plokkides, mis on moodustatud Unicode plokkide joonistusnĂ€itajatest, mis parandasid loetavust. Vananenud vĂ€ljundivormingut kasutatakse kĂ€su paketi tĂ€itmise ajal ĂŒhilduvuse tagamiseks.
- Ăksikud (mitte jutumĂ€rgid) semikoolonid lĂ”pus punktiga kĂ€skudest oodake ilma hoiatamata. âSee on vĂ”imalik ĂŒhilduvuse probleem!
- Parandatud kĂ€sud .testcase ja .check. NĂŒĂŒd töötavad nad tĂ”eliselt ja neid kasutatakse SQLite standardsete testide hulka kuuluvates skriptides, mis on sisse ehitatud lĂ€htekoodidesse.
- KĂ€skliinid, mis vastavad mallidele *.sql vĂ”i *.txt ja kujutavad endast mitte-tĂŒhjade failide nimesid, loetakse ja tĂ”lgendatakse skriptidena, mis sisaldavad SQL-kĂ€sku ja/vĂ”i [punkti kĂ€ske]((https://sqlite.org/cli.html#dotcmd).
- NĂŒĂŒd vĂ”ib kĂ€su .timer argumendiks mÀÀrata once, et taimer kĂ€ivituks ainult jĂ€rgmise SQL-pĂ€ringu tĂ€itmisel.
- Uus parameeter âtimeout S kĂ€sule .progress katkestab SQL-pĂ€ringute tĂ€itmise, kui S sekundit on möödunud.
- KĂ€sku .indexes on muudetud selliselt, et argument PATTERN vastab nĂŒĂŒd indeksi nimele, mitte indeksitud tabeli nimele (seega on argument PATTERN tĂ”eliselt kasulik). Lisaks on kĂ€sule .indexes lisatud mitu uut valikut.
- Parendused C API-s:
- sqlite3_str_truncate()
- sqlite3_str_free()
- sqlite3_carray_bind_v2()
- To the function sqlite3_prepare_v3() lisatud valik SQLITE_PREPARE_FROM_DDL, mis vÔimaldab virtuaaltabelite teostustel turvaliselt valmistada SQL-kÀske, mis on saadud andmebaasi skeemist.
- Lisatud konstant SQLITE_UTF8_ZT, mida saab kasutada kodeerimisparameetrina funktsioonides sqlite3_result_text64() vÔi sqlite3_bind_text64() , et nÀidata, et vÀÀrtus on kodeeritud UTF-8 ja lÔpeb nulliga.
- To the function sqlite3_limit() lisatud valik SQLITE_LIMIT_PARSER_DEPTH.
- To the function sqlite3_db_config() lisatud valik SQLITE_DBCONFIG_FP_DIGITS. Vaata ka punkti 9b allpool.
- KĂŒsimuste planeerija parendused:
- EXCEPT, INTERSECT ja UNION kasutavad alati sortimise ja liitmise algoritmi, kuna see töötab peaaegu alati kiiremini kui hash-tabelite kasutamine.
- LiitmisjÀrjestuse valimise mehhanismi parendused keeruliste mitmekesiste liitmiste tÀitmisel tÀhekujuliselt.
- EXISTS-i transformatsiooni JOIN-iks optimeerimist on tÀiustatud, et lisatud JOIN-i tingimused ei pea olema tingimata sisemistes silmustes, tingimusel et kÔik sÔltuvused, mis on vajalikud EXISTS-i transformatsioonide tegemiseks JOIN-iks, asuvad vÀlistes silmustes.
- Omit-noop-join-i optimeerimist on tĂ€iustatud, et see saaks vĂ€listada ĂŒhenduste ahela, mis ei mĂ”juta tulemust.
- PĂ€ringute optimeerimine, mis kasutavad GROUP BY e1 ORDER BY e2, kus e1 ja e2 on samad, vĂ€lja arvatud sortimisjĂ€rjestus ASC/DESC, ĂŒhe indeksi abil.
- DISTINCT operaatori optimeerimine virtuaaltabelites olukordades, kus pÀringu tulemuste komplekt ei vasta tÀielikult ORDER BY tingimusele.
- Uues seansi laiendus lisatud on uued liidesed, mis vĂ”imaldavad rakendusel lisada muudatusi ĂŒhe kaupa sqlite3_changegroup objekti:
- Parandused ujuvkomaga numbrite ja teksti vahelise konverteerimise osas.
- Kood on tĂ€ielikult ĂŒmber kirjutatud jĂ”udluse parandamiseks.
- NĂŒĂŒd toimub ĂŒmmardamine vaikimisi 17 signifitseeriva numbri asemel 15, nagu see oli kĂ”igis eelnevates versioonides. Vajadusel saab seda vÀÀrtust muuta funktsiooniga sqlite3_db_config valikuga SQLITE_DBCONFIG_FP_DIGITS (vt seal punkt 6g ĂŒlal).
- Lisatud on vÔimalus automaatselt taastuv indeks probleemi lahendamiseks aegunud vÀljendi indeksid.
- Konsolirakendusse sqlite3_rsync lisasid valiku -p|--port.
- Tugi on lÔpetatud Windows RT.
- JavaScript/WASM
- Lisatud VFS opfs-wl, mis on funktsionaalselt identne opfs-iga, kuid kasutab lukustamiseks Web Locks, mis vÔimaldab Ôiglasemat lukustamise jaotust kui opfs protokollis. opfs-wl nÔuab Atomics.waitAsync() funktsiooni olemasolu, seega on selle toimimiseks vajalikud uuemad brauserid kui opfs jaoks.
Allikas: linux.org.ru
