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
