Pubblicazione del DBMS SQLite 3.53

È stato rilasciato SQLite 3.53, un database leggero organizzato come una libreria collegabile. Il rilascio 3.52 è stato annullato. Il codice di SQLite è distribuito come pubblico dominio, il che significa che può essere utilizzato senza restrizioni e gratuitamente per qualsiasi scopo. Il supporto finanziario per gli sviluppatori di SQLite è fornito da un consorzio appositamente creato.

Variazioni principali:

  • È stato risolto un bug che causava la corruzione del database. Il problema era presente a partire dalla versione SQLite 3.7.0 (2010), interessando i database in modalità WAL (Write-Ahead Logging) e si manifestava a causa di una condizione di gara durante l'accesso simultaneo di due o più connessioni al database che cercavano di registrare o confermare le transazioni in un'unica istanza del database. Si afferma che l'insieme di circostanze che porta al crash si verifica molto raramente e è stato possibile riprodurlo solo in uno scenario di test appositamente creato.
  • Nella comando «ALTER TABLE» è consentita la rimozione dei vincoli «NOT NULL» e «CHECK».
  • È stato aggiunto il comando «REINDEX EXPRESSIONS» per ricostruire indici basati su espressioni in cui viene utilizzata una funzione su una colonna o operazioni su colonne come elemento indice. Il comando può essere utilizzato per ripristinare indici obsoleti.
  • All'interno dei trigger temporanei creati con il comando «CREATE TEMP TRIGGER» e applicabili a tabelle in altri database, è consentito modificare le tabelle o effettuare query sui dati delle tabelle.
  • Nel comando «VACUUM INTO», specificando un file di destinazione tramite URL, è implementato l'uso del parametro «reserve=N» per determinare il numero di copie di backup create del database.
  • Sono state implementate nuove funzioni SQL json_array_insert() e jsonb_array_insert() per inserire elementi negli array JSON.
  • È stata aggiunta e attivata nella utility della riga di comando la libreria QRF (Query Result Formatter) per formattare i risultati dell'esecuzione delle query SQL in un formato leggibile.
  • Modifiche all'utility della riga di comando:
    • Il comando «.mode» è stato notevolmente ampliato.
    • Migliorata l'output, ad esempio, il disegno dei bordi è abilitato di default e i valori numerici sono ora allineati a destra nell'output tabulato.
    • Garantita l'ignoranza dei caratteri «;» dopo i comandi.
    • Il contenuto dei file specificati nella riga di comando con estensioni *.sql e *.txt è ora letto e interpretato come insiemi di espressioni SQL e comandi dot.
    • Nel comando «.timer» è stata aggiunta la supporto per il valore «once» per applicare il timer solo alla prossima espressione SQL.
    • Nel comando «.progress» è stata aggiunta l'opzione «—timeout S» per forzare l'interruzione dell'espressione SQL dopo il timeout.
    • Nel comando «.indexes» è stato modificato il comportamento dei modelli, che ora si applicano ai nomi degli indici e non ai nomi delle tabelle indicizzate.
  • Sono state apportate ottimizzazioni al pianificatore di query, accelerando le operazioni di unione delle tabelle e le operazioni EXCEPT, INTERSECT e UNION.
  • Migliorata la performance delle funzioni di conversione dei numeri in virgola mobile in rappresentazione testuale.
  • Nell'implementazione compilata in codice intermedio WebAssembly è stata aggiunta VFS «opfs-wl», identica a VFS «opfs», ma utilizza l'API Web Locks per gestire i blocchi.
  • Nel comando sqlite3_rsync è stata aggiunta l'opzione «-p|—port».
  • È stata interrotta la supporto per la piattaforma Windows RT.

Fonte: opennet.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