Megjelent az SQLite 3.53, amely kijavít egy adatbázis-adatsérülést okozó hibát a WAL reset kezelésében, és számos frissítést hoz az SQL, a CLI, a query planner és az API területén.
Fontos újdonság a Query Result Formatter, amelyet mostantól a CLI használ az eredmények formázásához. A kiadási megjegyzések szerint ez javítja a megjelenítési lehetőségeket, a táblázatos kimenetben alapértelmezetten jobbra igazítja a numerikus értékeket, és az interaktív CLI alapértelmezett kimenetét dobozolt Unicode táblázatokra állítja a jobb olvashatóság érdekében. A batch mód a kompatibilitás miatt megtartja a korábbi kimeneti formátumot.
Az SQLite 3.53 az SQL nyelvi támogatását is bővíti. Az ALTER TABLE mostantól hozzáadhat és eltávolíthat NOT NULL és CHECK megszorításokat. Az új REINDEX EXPRESSIONS utasítás újraépíti a kifejezésindexeket. A TEMP triggerek törzse mostantól lekérdezheti és módosíthatja a main sémában lévő táblákat, a VACUUM INTO pedig támogatja a reserve mennyiség beállítását URI fájlnévparaméteren keresztül. Két új SQL-funkció is érkezett:
json_array_insert()
és
jsonb_array_insert()
.
A CLI felhasználói számára a
.mode
parancs jelentős fejlesztéseket kapott. A dot-parancsok végén álló önálló pontosvesszőket mostantól figyelmen kívül hagyja. Kijavították a
.testcase
és a
.check
körüli problémákat. A parancssorban megadott, nem üres
.sql
vagy
.txt
fájlokat mostantól SQL- vagy dot-parancs szkriptekként értelmezi.
További újdonság az egyszeri futtatási mód a
.timer
számára, egy új timeout opció a
.progress
parancshoz, valamint a
.indexes
frissítése: a mintája mostantól az indexnevekre illeszkedik, nem a táblanevekre. Emellett átdolgozták a lebegőpontos értékek szöveggé alakítását a jobb teljesítmény érdekében; a kerekítés alapértelmezésben most 17 jelentős diGitt használ 15 helyett.
A query planner is több frissítést kapott. Az SQLite mostantól következetesen sort-and-merge eljárást használ az EXCEPT, INTERSECT és UNION műveleteknél, mivel ez általában gyorsabb, mint a hash-táblás megoldás. A kiadás javítja a join sorrendjének kiválasztását nagy star-schema joinoknál, bővíti az EXISTS-to-JOIN optimalizációt, finomítja az omit-noop-join kezelést, és több lehetőséget teremt az egyetlen indexre épülő optimalizációra bizonyos GROUP BY és ORDER BY esetekben.
Végül érdemes kiemelni az új, önjavító index funkciót, amely a beragadt kifejezésindexek problémáját kezeli. Emellett az SQLite bevezeti a REINDEX EXPRESSIONS utasítást is, amellyel szükség esetén közvetlenül újraépíthetők a kifejezésindexek.
További részletekért nézd meg a változásnaplót.

