Lansarea SGBD-ului SQLite 3.53

A fost publicată versiunea SQLite 3.53, o bază de date ușoară, prezentată sub formă de bibliotecă dinamică. Lansarea 3.52 a fost anulată. Codul SQLite este distribuit ca domeniu public, adică poate fi folosit fără restricții și gratuit în orice scop. Suportul financiar pentru dezvoltatorii SQLite este asigurat de un consorțiu special creat.

Modificări principale:

  • A fost remediată o eroare care provoca deteriorarea bazei de date. Problema a fost prezentă începând cu versiunea SQLite 3.7.0 (2010), afectând bazele de date în modul WAL (Write-Ahead Logging) și manifestându-se din cauza unei condiții de cursă atunci când două sau mai multe conexiuni la baza de date încercau să scrie sau să confirme tranzacții în aceeași instanță de bază de date. Se afirmă că circumstanțele care duc la eșec apare extrem de rar și au putut fi reproduse doar într-un scenariu de testare creat special.
  • În comanda „ALTER TABLE” este permisă eliminarea constrângerilor „NOT NULL” și „CHECK”.
  • A fost adăugată comanda „REINDEX EXPRESSIONS” pentru reconstruirea indicilor pe baza expresiilor, în care ca element de index este folosită o funcție pe o coloană sau operații pe coloane. Comanda poate fi utilizată pentru a restaura indicii expirate.
  • În interiorul triggerelor temporare, create cu comanda „CREATE TEMP TRIGGER” și aplicate la tabele din alte baze de date, este permisă modificarea tabelor sau interogarea datelor din tabele.
  • În comanda „VACUUM INTO” la specificarea fișierului țintă prin URL, a fost implementat utilizarea parametrului „reserve=N” pentru a defini numărul de copii rezervate ale bazei de date.
  • Au fost implementate noi funcții SQL json_array_insert() și jsonb_array_insert() pentru a insera elemente în liste JSON.
  • A fost adăugată și utilizată în utilitarul din linia de comandă biblioteca QRF (Query Result Formatter) pentru formatarea rezultatelor execuției interogărilor SQL într-o formă ușor de citit.
  • Modificări în utilitarul din linia de comandă:
    • Comanda „.mode” a fost extinsă semnificativ.
    • A fost îmbunătățită generarea ieșirii, de exemplu, desenarea cadrelor este acum activată implicit, iar valorile numerice sunt acum aliniate la dreapta în ieșirea tabulată.
    • S-a asigurat ignorarea caracterului „;” după comenzi.
    • Conținutul fișierelor specificate în linia de comandă cu extensiile *.sql și *.txt este acum citit și interpretat ca seturi de expresii SQL și comenzi dot.
    • Comanda «.timer» a fost actualizată cu suport pentru valoarea «once» pentru a aplica temporizatorul doar la următoarea expresie SQL.
    • Comanda «.progress» a fost adăugată opțiunea «—timeout S» pentru a forța întreruperea expresiei SQL după expirarea timpului.
    • Comportamentul șablonului în comanda «.indexes» a fost modificat, acum aplicându-se numelui indexului, nu numelui tabelelor indexate.
  • Optimizări au fost implementate în planificatorul de interogări, accelerând fuziunea tabelelor și operațiunile EXCEPT, INTERSECT și UNION.
  • Performanța funcțiilor de conversie a numerelor cu virgulă flotantă în reprezentarea textului a fost îmbunătățită.
  • În implementarea compilată în cod intermediar WebAssembly a fost adăugată VFS «opfs-wl», identică cu VFS «opfs», dar folosind API Web Locks pentru gestionarea blocărilor.
  • Utilitarul sqlite3_rsync a fost actualizat cu opțiunea «-p|—port».
  • Suportul pentru platforma Windows RT a fost întrerupt.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster