Avaldatud on SQLite 3.46 versioon, kergekaaluline andmebaasi haldussüsteem, mis on vormindatud kui pluginaraamatukogu. SQLite kood jagatakse avaliku domeenina, see tähendab, et seda saab kasutada piiranguteta ja tasuta mistahes eesmärkidel. SQLite arendajate rahalist toetust pakub selleks loodud konsortsium.
Peamised muudatused:
- Numbrite näitamisel on võimalik kasutada eraldajat „_“ arusaadavamate numbrite esitamiseks (nt 1_234_567).
- Lisatud on SQL-funktsioon json_pretty(), mis genereerib loetavama väljavõtte JSON-formaadis, vormindatuna plokkide kahemärgiste taanditega.
- Täpsemate võimalustega on laiendatud PRAGMA optimize operatsiooni, mis optimeerib andmebaasi ja kõiki andmeskeeme, et saavutada parim päringute jõudlus. Vähenenud on automaatselt rakendatud piirangud andmebaasi analüüsi kestusele, vältides liiga pikka töötlusaega suurte andmebaaside puhul. Lisatud on uus bittmask „PRAGMA optimize(0x10000)“, mis kontrollib eraldi värskendusi kõigis tabelites. Tagatud on automaatne tabelite uuesti analüüsimine, kus puuduvad kirjed sqlite_stat1.
- SQL-funktsioonile strftime() on lisatud toimetusi %G, %g, %U ja %V toetuseks.
- SQL-funktsioonides, mis tegelevad kuupäevade ja aegadega, on lisatud uusi modifikaatoreid ceiling ja floor, et hallata ebaselgeid kuupäevi, mis tekivad kuupäevade nihutamisel teatud arvu kuude või aastate võrra. Modifikaatorid utc ja localtime ignoreeritakse, kui SQLite'l on teada, et aeg on juba UTC- või localtime-esitusel.
- Küsimuste planeerijasse on tehtud optimeerimisi. INSERT-lauseid, mis sisaldavad tuhandeid väärtusi VALUES-sektsioonis, töötlus on vaikesätetena lubatud optimeerimine "VALUES-as-coroutine", mis võimaldab umbes kaks korda kiirendada selliste lausete parsimist ja kaks korda vähendada mälu tarbimist. Küsimistele, mis on kujul "SELECT count(DISTINCT col) FROM ...", on lubatud indeksite kasutamine, isegi kui indeksi kirje suurus ei ole väiksem kui tabeli kirje suurus. Parandatud on loogikat, mis määratleb olukordi, kus SQL-funktsioonide argumentides on konstantsed väärtused. Kasutusele on võetud push-down optimeerimine WHERE-lause jaoks, mis sisaldab seoseid mittekuuluvate alampäringutega.
- Steki ületamise töötlemise loogika on muudetud — kui parser tuvastab mälupuuduse steigis, proovib see nüüd broneerida täiendavat mälu kuhjast, selle asemel et anda veateade "parser stack overflow".
- JSON5-s on lubatud juhtivate märkide määramine JSON stringiliteraalides. Muudetud on tegurite "->" ja ">>" tööloogikat, kui paremal küljel olev stringoperand sisaldab ainult numbreid (sarnaselt PostgreSQL-iga, nüüd töödeldakse neid opereerivaid stringe kui stringe).
- Tabeli veergude DEFAULT väärtuses on lubatud suured heksadecimaalsed literaalid.
Allikas: opennet.ru
