A fost publicat release-ul SQLite 3.37, o bază de date ușoară, oferită sub formă de bibliotecă dinamică. Codul SQLite este distribuit ca domeniu public, adică poate fi utilizat fără restricții și gratuit în orice scop. Suportul financiar pentru dezvoltatorii SQLite este realizat de un consorțiu special creat, din care fac parte companii precum Adobe, Oracle, Mozilla, Bentley și Bloomberg.
Modificări principale:
- A fost adăugată suportul pentru crearea de tabele cu indicatorul «STRICT», care necesită specificarea obligatorie a tipului la declararea coloanelor și aplică verificarea strictă a corespunderii tipurilor de date adăugate în coloane. Activarea acestui flag va face ca SQLite să returneze o eroare în cazul în care datele specificate nu pot fi convertite în tipul coloanei. De exemplu, dacă coloana este creată ca «INTEGER», atunci transmiterea valorii de tip string ‘123’ va conduce la adăugarea numărului 123, dar încercarea de a specifica ‘xyz’ va duce la o eroare.
- În operația «ALTER TABLE ADD COLUMN» a fost adăugată o verificare a condițiilor de existență a rândurilor atunci când se adaugă coloane cu verificări pe baza expresiei «CHECK» sau cu condiții «NOT NULL».
- A fost implementată expresia «PRAGMA table_list» pentru a afișa informații despre tabele și vederi.
- În interfața liniei de comandă, a fost implementată comanda «.connection», care permite menținerea simultană a mai multor conexiuni la baza de date.
- A fost adăugat parametrul «—safe», care dezactivează comenzile CLI și expresiile SQL care permit efectuarea de operații cu fișiere de baze de date diferite de cele specificate în linia de comandă.
- În CLI, a fost optimizată performanța citirii expresiilor SQL care sunt împărțite în mai multe linii.
- S-au adăugat funcțiile sqlite3_autovacuum_pages(), sqlite3_changes64() și sqlite3_total_changes64().
- În planificatorul de interogări, s-a asigurat ignorarea expresiilor «ORDER BY» în subinterogări și vederi, dacă eliminarea acestor expresii nu modifică semantica interogării.
- A fost modificată extensia generate_series(START,END,STEP), primul parametru («START») fiind transformat în unul obligatoriu. Pentru a obține comportamentul anterior, este posibilă recompilarea cu opțiunea «-DZERO_ARGUMENT_GENERATE_SERIES».
- A fost redus consumul de memorie pentru stocarea schemei bazei de date.
Sursa: opennet.ro
