È stata rilasciata la versione 3.54 di SQLite, un DBMS leggero fornito come libreria collegabile. Il codice di SQLite è distribuito come dominio pubblico, ovvero può essere utilizzato senza restrizioni e gratuitamente per qualsiasi scopo. Il supporto finanziario per gli sviluppatori di SQLite è fornito da un consorzio creato appositamente.
Variazioni principali:
- Sono state effettuate ottimizzazioni che hanno permesso di accelerare il superamento del test speedtest1 di circa il 4% rispetto alla versione precedente e del 7,5% rispetto alla release 3.51 di un anno fa. I risultati possono variare a seconda del tipo di carico, delle opzioni di compilazione, della CPU, del compilatore e del sistema operativo.
- Nell'utility sqlite è stata implementata la possibilità di usare sequenze di escape per mostrare informazioni aggiuntive sullo stato nel prompt dei comandi, ad esempio, "/x" per informazioni sulla transazione aperta, "/r" per il database in sola lettura, "/m" per il database memorizzato solo in memoria, "/f" per inserire il nome del file del database, "/v" per mostrare la versione di SQLite, "/:" e "/;" per costruire espressioni condizionali, "/u" e "/h" per inserire il nome utente e dell'host. La configurazione del modello del prompt dei comandi avviene tramite le variabili d'ambiente SQLITE_PS1 e SQLITE_PS2.
- Nell'utility sqlite sono state aggiunte al comando ".mode" le opzioni "--ifmt", "--rowcount on" e "--titles always" per configurare il formato dei numeri in virgola mobile e gestire la visualizzazione del contatore di righe e dei titoli. È stato sostituito il gestore del comando ".diskused". Di default, il titolo con i nomi delle colonne viene mantenuto se la query non restituisce righe e la pulizia dei byte nulli nell'output dei blob è disabilitata sui sistemi Unix.
- Nello scheduler di query è stata accelerata l'esecuzione delle operazioni UPDATE in situazioni in cui ci sono indici su espressioni ma il valore indicizzato non cambia. È stata ottimizzata l'esecuzione delle operazioni "expr OR TRUE" e "expr OR FALSE". È stato garantito l'ignoramento dell'espressione DISTINCT nelle sottoquery SELECT specificate a destra dell'operatore "IN". È stata accelerata l'elaborazione e ridotto il consumo di memoria quando si indicano nelle UNION le espressioni "LIMIT 1".
- Nel comando ALTER TABLE è stato garantito il rilascio di un errore per qualsiasi tentativo di aggiungere, rimuovere o rinominare colonne con nomi riservati "ROWID", "_ROWID_" e "OID".
- È stata aggiunta la funzione SQL diskused() per stimare lo spazio occupato dalle tabelle e dagli indici sullo storage.
- Nelle funzioni SQL printf() e format() sono state aggiunte le sostituzioni «%J» e «%j» per l'output in formato JSON.
- Nella funzione di gestione di date e orari sono stati aggiunti i modificatori «weekday -N» e «end of».
- Nei sistemi che supportano il flag O_TMPFILE nella funzione open(), questa modalità è attivata durante la creazione di file temporanei.
- È stata interrotta la supporto per le vecchie versioni di Windows, inclusi Windows CE e Windows XP. La versione minima dichiarata è Windows Vista.
Fonte: opennet.ru
