9. aprillil ilmus vĂ€lja 3.53.0 kompaktne platvormidevaheline sisseehitatud andmebaasi haldussĂŒsteem. SQLite. Projekti kood on kirjutatud C keeles ja on vabastiilis (public domain).
Muutused:
- Viga on parandatud. WAL-i nullimise andmebaasi kahjustamise viga.. Vaata eelmist uudist. SQLite 3.51.3, mis parandab vĂ”imalikke andmebaasi rikete tekkimist WAL-reĆŸiimis..
- SQL-pÀringute tulemuste vormindamise teek on lisatud. PÀringu Tulemuste Vormindaja (QRF) mugavama ekraanilugemise tagamiseks fikseeritud laiusega fondiga.
- Uus meetod format kellele TCL-liidesele QRF-i juurdepÀÀsu saamiseks TCL-ist.
- QRF-i kasutatakse nĂŒĂŒd kĂ€surea utiliidis sqlite pĂ€ringute tulemuste vormindamiseks, mis parandas nende kuvamist.
- Uued SQL keele vÔimalused:
- KÀsu vÔimalusi on parendatud ALTER TABLE NOT NULL ja CHECK piirangute lisamise ja eemaldamise vÔimaldamiseks.
- Operaator REINDEX EXPRESSIONS teeb vÀljendi indeksite uuesti indekseerimise. Kasulik vananenud vÀljendi indeksite taastamiseks..
- NĂŒĂŒd TEMP triggerid vĂ”ivad muuta ja/vĂ”i kĂŒsida andmeid pĂ”hiskeemi tabelitest.
- KÀsku on parendatud. VACUUM INTO: si adreseerida failinime URI formaadis, mis sisaldab parameetrit reserve=N (kus N on number vahemikus 0 kuni 255), siis reserveeringu maht loodava andmebaasi koopia jaoks seadistatakse vÔrduma N-iga.
- Uued SQL funktsioonid on lisatud:
- Uuendused konsooli utiliidis:
- Olulised tÀiustused kÀskude .mode.
- TĂ€nu QRF laiendusele tulemuste vormindamine on paranenud. NĂ€iteks numbrid joondatakse nĂŒĂŒd vaikimisi paremale tabelivĂ€ljastus.
- Vaikimisi kasutatakse QRF-i nĂŒĂŒd konsooli utiliidi interaktiivsel kasutamisel pĂ€ringute tulemuste kuvamiseks plokkides, mis on loodud Unicode plokkide joonistus mĂ€rkide abil, mis on parandanud loetavust. Ajalooline vĂ€ljundformaadi kasutatakse kĂ€skude massiliseks tĂ€itmiseks ĂŒhilduvuse tagamiseks.
- Ăksikud (tsitaatides mitte olevad) semikoolonid kĂ€su lĂ”pus punktiga kĂ€sud ignored without warning. This is a potential incompatibility!
- KĂ€skude .testcase ja .check vead on parandatud. NĂŒĂŒd töötavad need tĂ”eliselt ja neid kasutatakse SQLite'i standardtestide skriptides, mis on kaasatud lĂ€htekoodidesse.
- KĂ€skluse rea argumendid, mis vastavad mustritele *.sql vĂ”i *.txt ja on mitte-tĂŒhjad failinimed, loetakse ja tĂ”lgendatakse SQL-operatsioonide ja / vĂ”i [punktikomandod] skriptidena.https://sqlite.org/cli.html#dotcmd).
- NĂŒĂŒd saab kĂ€sk .timer argumendiks mÀÀrata once, et taimer kĂ€ivituks ainult jĂ€rgmise SQL-pĂ€ringu tĂ€itmise ajal.
- Uus parameeter âtimeout S kĂ€sus .progress katkestab SQL-pĂ€ringute tĂ€itmise pĂ€rast S-sekundilist ajavahemikku.
- KÀsku .indexes on muudetud nii, et argumendi PATTERN sobivus toimub indeksinime, mitte indekseeritava tabeli nimega (mille tÔttu on PATTERN argumendist saanud tÔeliselt kasulik). Samuti on kÀsule .indexes lisatud mÔned uued valikud.
- C API tÀiustused:
- sqlite3_str_truncate()
- sqlite3_str_free()
- sqlite3_carray_bind_v2()
- Funktsioonisse sqlite3_prepare_v3() lisa valik SQLITE_PREPARE_FROM_DDL, mis vÔimaldab virtuaaltabelite rakendustel ohutult ette valmistada SQL-operatsioone, mida saadakse andmebaasi skeemist.
- Lisatud konstant SQLITE_UTF8_ZT, mida saab kasutada kodeerimisparameetrina funktsioonides sqlite3_result_text64() vÔi sqlite3_bind_text64() nÀitamaks, et vÀÀrtus on kodeeritud UTF-8-s ja lÔpeb nulliga.
- Funktsioonisse sqlite3_limit() lisa valik SQLITE_LIMIT_PARSER_DEPTH.
- Funktsioonisse sqlite3_db_config() lisa valik SQLITE_DBCONFIG_FP_DIGITS. Vaadake ka allpool punkti 9b.
- KĂŒsimuste planeerimise tĂ€iustused:
- EXCEPT, INTERSECT ja UNION korral kasutatakse alati sorteermis- ja sulandamisalgoritmi, kuna see töötab peaaegu alati kiiremini kui hash-tabelite kasutamine.
- TĂ€htede vaheliste suhete teostamise mehhanismi tĂ€iustamine, eriti suuremate mitmeosaliste ĂŒhenduste puhul tĂ€htedena.
- EXISTS-i JOIN-iks muutmise optimeerimise tĂ€iustamine, et ĂŒhendamisel sisalduvad tingimused ei pea tingimata olema sisekeskustes, eeldusel, et kĂ”ik sĂ”ltuvused, mis muudetakse EXISTS-ist JOIN-iks, asuvad vĂ€listes ringides.
- Omit-noop-join optimeerimise tĂ€iustamine, et see saaks jĂ€tta vĂ€lja ĂŒhenduste ahela, mis ei mĂ”jutanud tulemust.
- KĂŒsimuste optimeerimine, mis kasutab GROUP BY e1 ORDER BY e2, kus e1 ja e2 on identsed, vĂ€lja arvatud sorteerimiskorra ASC/DESC, ĂŒhe indeksi abil.
- DISTINCT operaatori optimeerimise rakendamine virtuaalsetes tabelites, kui pÀringu tulemustesett ei vasta tÀielikult ORDER BY tingimusele.
- V seansi laiendamine uued liidesed on lisatud, vĂ”imaldades rakendusel SQLi3_changegroup objekti muutusi ĂŒkshaaval lisada:
- Parandused ujuvkomaga numbrite ja teksti vahelise konversiooni osas.
- Kood kirjutati tĂ€ielikult ĂŒmber, et parandada jĂ”udlust.
- NĂŒĂŒd toimub ĂŒmmardamine 17 oluliseks numbriks, mitte 15 nagu kĂ”ikides eelnevates versioonides. Vajadusel saab seda vÀÀrtust muuta funktsiooni abil sqlite3_db_config sqlite3_db_config valikuga SQLITE_DBCONFIG_FP_DIGITS (vt seal punkti 6g eespool).
- Lisatud on vÔimalus indeksi ise taastamine probleemi lahendamiseks vÀljendi indeksite taastamiseks..
- KĂ€surea utiliiti sqlite3_rsync lisatud valik -p|âport.
- Tugiteenus lÔpetatud Windows RT.
- JavaScript/WASM
- Lisatud on 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, seega on selle töötamiseks vajalikud uuemad brauseriversioonid kui opfs-i jaoks.
Allikas: linux.org.ru
