SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Il 9 aprile è stata rilasciata la versione 3.53.0 del sistema di gestione di database integrato e cross-platform SQLite. Il codice del progetto è scritto in C e distribuito come pubblico dominio.

Novità:

  • Corretto un errore bug di corruzione del database WAL-reset. Vedi la notizia precedente SQLite 3.51.3 con correzione di potenziale corruzione del database in modalità WAL.
  • Aggiunta la libreria per la formattazione dei risultati delle query SQL Query Result Formatter (QRF) per una migliore leggibilità su schermo con caratteri a larghezza fissa.
  • Aggiunto il metodo format a interfaccia TCL per accedere a QRF da TCL.
    • QRF è ora utilizzato nell'utility della console sqlite per formattare i risultati delle query, migliorando la loro visualizzazione.
  • Nuove funzionalità del linguaggio SQL:
    • Migliorate le funzionalità del comando ALTER TABLE per consentire l'aggiunta e la rimozione di vincoli NOT NULL e CHECK.
    • L'operatore REINDEX EXPRESSIONS esegue la reindicizzazione degli indici delle espressioni. Utile per recuperare indici delle espressioni obsoleti.
    • Ora i trigger TEMP possono modificare e/o interrogare dati dalle tabelle dello schema principale.
    • Migliorato il comando VACUUM INTO: se si utilizza come indirizzo un nome file nel formato URI, contenente il parametro di query reserve=N (dove N è un numero da 0 a 255), il volume di riserva per la copia del database creata è impostato su N.
  • Sono state aggiunte nuove funzionalità SQL:
  • Aggiornamenti in utilità da console:
    • Miglioramenti significativi del comando .mode.
    • Grazie all'estensione QRF, il formato dei risultati è stato migliorato. Ad esempio, i numeri ora si allineano a destra di default nella modalità output tabellare..
    • Di default, QRF è ora utilizzato durante l'uso interattivo dell'utilità da console per visualizzare i risultati delle query in blocchi formati con caratteri Unicode per il disegno di blocchi, aumentando la leggibilità. Il formato di output obsoleto è utilizzato durante l'esecuzione batch dei comandi per garantire la compatibilità.
    • Punti e virgola singoli (non racchiusi tra virgolette) alla fine dei comandi con punto vengono ignorati senza avviso. Questo potrebbe causare incompatibilità!
    • Sono state corrette le istruzioni .testcase e .check. Ora funzionano davvero e vengono utilizzate negli script inclusi nel set standard di test SQLite, contenuto nel codice sorgente.
    • Gli argomenti della riga di comando che corrispondono ai modelli *.sql o *.txt e rappresentano nomi di file non vuoti vengono letti e interpretati come script contenenti operatori SQL e/o [comandi con punto](https://sqlite.org/cli.html#dotcmd).
    • Ora, come argomento per il comando .timer, è possibile specificare once per attivare il timer solo durante l'esecuzione della prossima query SQL.
    • Il nuovo parametro —timeout S del comando .progress porta all'interruzione dell'esecuzione delle query SQL dopo S secondi.
    • Il comando .indexes è stato modificato in modo che l'argomento PATTERN ora corrisponda al nome dell'indice, e non al nome della tabella indicizzata (rendendo così l'argomento PATTERN davvero utile). Inoltre, sono state aggiunte alcune nuove opzioni al comando .indexes.
  • Miglioramenti nell'API C:
  • Miglioramenti al pianificatore delle query:
    • Per EXCEPT, INTERSECT e UNION viene sempre utilizzato un algoritmo di ordinamento e fusione, poiché di solito è più veloce rispetto all'uso delle tabelle hash.
    • Miglioramenti nel meccanismo di selezione dell'ordine di join durante l'esecuzione di grandi join multifunzionali nella schema a stella.
    • Ottimizzazione migliorata della trasformazione di EXISTS in JOIN in modo che le condizioni JOIN aggiunte non debbano necessariamente trovarsi nei cicli interni, a condizione che tutte le dipendenze per i cicli di trasformazione EXISTS in JOIN si trovino nei cicli esterni.
    • Ottimizzazione migliorata omit-noop-join in modo da poter saltare una catena di unioni che non influenzano il risultato.
    • Ottimizzazione delle query che utilizzano GROUP BY e1 ORDER BY e2, dove e1 ed e2 sono identici, tranne per l'ordine di ordinamento ASC/DESC, utilizzando un solo indice.
    • Ottimizzazione dell'operatore DISTINCT nelle tabelle virtuali quando il set di risultati della query non corrisponde completamente alla condizione ORDER BY.
  • In estensione della sessione sono state aggiunte nuove interfacce che consentono all'applicazione di aggiungere modifiche singole all'oggetto sqlite3_changegroup:
  • Miglioramenti nella conversione tra numeri in virgola mobile ↔ testo.
    • Il codice è stato completamente riscritto per migliorare le prestazioni.
    • Ora, di default, il round-off viene eseguito fino a 17 cifre significative invece di 15, come nelle versioni precedenti. Questo valore può essere modificato tramite la funzione sqlite3_db_config con opzione SQLITE_DBCONFIG_FP_DIGITS (vedere il punto 6g sopra).
  • È stata aggiunta la possibilità di autorecupero dell'indice per affrontare il problema indici delle espressioni obsoleti.
  • Nell'utilità da console sqlite3_rsync è stata aggiunta l'opzione -p|--port.
  • È stata interrotta la supporto per Windows RT.
  • JavaScript/WASM
    • È stato aggiunto VFS opfs-wl, funzionalmente identico a opfs, ma che utilizza Web Locks per le serrature, consentendo una distribuzione più equa dei blocchi rispetto al protocollo opfs. opfs-wl richiede la funzione Atomics.waitAsync(), quindi per il suo funzionamento sono necessarie versioni più recenti dei browser rispetto a opfs.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster