Lansarea sistemului de gestionare a bazelor de date SQLite 3.46

A fost publicat release-ul SQLite 3.46, o bază de date de tip lightweight, prezentată sub formă de bibliotecă de legătură. Codul SQLite este distribuit ca domeniu public, adică poate fi folosit fără restricții și gratuit în orice scop. Sprijinul financiar pentru dezvoltatorii SQLite este asigurat de un consorțiu creat special.

Modificări principale:

  • A fost introdusă posibilitatea utilizării separatorului „_” în numere pentru o reprezentare mai clară a literelor numerice (de exemplu, 1_234_567).
  • A fost adăugată funcția SQL json_pretty() pentru a genera o ieșire mai ușor de citit în format JSON, formatată folosind indentare pentru blocuri.
  • Au fost extinse capacitățile operației „PRAGMA optimize”, care optimizează baza de date și toate schemele de date pentru a obține cea mai bună performanță a interogărilor. A fost implementat un limitator de durată a analizei bazei de date, care exclude timpul de procesare excesiv de lung pentru bazele de date mari. A fost adăugată o nouă mască de biți „PRAGMA optimize(0x10000)” pentru verificarea separată a actualizărilor în toate tabelele. S-a asigurat recalculeazărea automată a tabelelor care nu au înregistrări sqlite_stat1.
  • Funcției SQL strftime() i s-a adăugat suport pentru substituțiile %G, %g, %U și %V.
  • Funcțiilor SQL pentru lucrul cu date și ore le-au fost adăugate noi modificatori, ceiling și floor, pentru a gestiona prelucrarea datelor ambigue care apar în urma operațiunilor de deplasare a datelor cu un anumit număr de luni sau ani. S-a asigurat ignorarea modificatorilor utc și localtime, dacă SQLite cunoaște că timpul este deja în formatul UTC sau localtime.
  • Au fost realizate optimizări în planificatorul de interogări. Pentru expresiile INSERT care conțin mii de valori în secțiunea VALUES, optimizarea „VALUES-as-coroutine” este activată implicit, permițând o accelerare de aproximativ două ori a analizei acestor expresii și reducerea consumului de memorie cu aproximativ două ori. Pentru interogările de tip „SELECT count(DISTINCT col) FROM …”, s-a permis aplicarea indexurilor, chiar dacă dimensiunea înregistrărilor din index nu este mai mică decât cea din tabel. S-a îmbunătățit logica de determinare a situațiilor în care constantele sunt indicate în argumentele funcțiilor SQL. S-a asigurat aplicarea optimizării push-down pentru expresiile WHERE care conțin subinterogări nelegate.
  • Logica de procesare a overflow-ului de stivă a fost modificată — atunci când se detectează o insuficiență de memorie pentru stivă, parserul încearcă acum să aloce memorie suplimentară din heap, în loc să returneze eroarea „parser stack overflow”.
  • În JSON este permisă specificarea caracterelor de control în literele de tip string JSON5. Logica operatorilor „->” și „>>” a fost modificată, astfel încât când operandul din dreapta conține doar cifre, acesta este tratat ca un string (similar cu PostgreSQL).
  • În valoarea DEFAULT a coloanelor din tabele este permisă specificarea literelor hexazecimale mari.

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