È stato rilasciato SQLite 3.37, un DBMS leggero presentato come libreria collegabile. Il codice di SQLite è distribuito come dominio pubblico, ovvero può essere usato senza restrizioni e gratuitamente per qualsiasi scopo. Il supporto finanziario per gli sviluppatori di SQLite è fornito da un consorzio appositamente creato, che include aziende come Adobe, Oracle, Mozilla, Bentley e Bloomberg.
Principali modifiche:
- È stata aggiunta la supporto per la creazione di tabelle con il flag «STRICT», che richiede di specificare obbligatoriamente il tipo durante la dichiarazione delle colonne e applica un rigoroso controllo della corrispondenza dei tipi dei dati aggiunti nelle colonne. Quando questo flag è attivato, SQLite genererà un errore se non è possibile convertire i dati specificati nel tipo della colonna. Ad esempio, se la colonna è stata creata come «INTEGER», il passaggio del valore stringa ‘123’ porterà all’aggiunta del numero 123, ma il tentativo di inserire ‘xyz’ si concluderà con un errore.
- Nell'operazione «ALTER TABLE ADD COLUMN» è stata aggiunta una verifica delle condizioni di esistenza delle righe quando si aggiungono colonne con controlli basati su espressioni «CHECK» o con condizioni «NOT NULL».
- Implementata l'espressione «PRAGMA table_list» per visualizzare informazioni su tabelle e viste.
- Nel'interfaccia della riga di comando è stato implementato il comando «.connection», che consente di mantenere più connessioni al database simultaneamente.
- Aggiunto il parametro «—safe», che disabilita i comandi CLI e le espressioni SQL che consentono operazioni su file di database diversi da quello specificato nella riga di comando.
- Ottimizzata la performance di lettura delle espressioni SQL nella CLI, suddivise su più righe.
- Aggiunte le funzioni sqlite3_autovacuum_pages(), sqlite3_changes64() e sqlite3_total_changes64().
- Nello scheduler delle query è stato garantito l'ignore delle espressioni «ORDER BY» nelle sottoquery e nelle viste, se la rimozione di tali espressioni non modifica la semantica della query.
- Modificata l'estensione generate_series(START,END,STEP), dove il primo parametro («START») è stato reso obbligatorio. Per ripristinare il comportamento precedente è possibile ricompilare con l’opzione «-DZERO_ARGUMENT_GENERATE_SERIES».
- Ridotto il consumo di memoria per la conservazione dello schema del database.
Fonte: opennet.ru
