Versione del database SQLite 3.51

È stata pubblicata la versione 3.51 di SQLite, un database leggero sotto forma di libreria collegabile. Il codice di SQLite è distribuito come dominio pubblico, 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:

  • Sono state aggiunte nuove funzioni JSON jsonb_each() e jsonb_tree(), che si differenziano dalle precedenti funzioni json_each() e json_tree() in quanto restituiscono un valore JSONB per dati di tipo array o oggetto.
  • Il codice delle estensioni carray e percentile è stato trasferito nel file di base «sqlite3.c» con codice SQLite incorporato. Di default, i dati delle estensioni sono disabilitati e richiedono che siano specificati i parametri «-DSQLITE_ENABLE_CARRAY» e «-DSQLITE_ENABLE_PERCENTILE» durante la compilazione.
  • È stata migliorata l'interfaccia per l'utilizzo di SQLite negli script in Tcl. È stato aggiunto un flag «-asdict» al comando «eval» per restituire stringhe utilizzando il tipo «dict» invece di «array». È stata aggiunta la possibilità di interrompere le funzioni utente per restituire un valore NULL.
  • Modifiche all'interfaccia della riga di comando:
    • La precisione del comando «.timer» è stata aumentata fino ai microsecondi;
    • Nei formati di output «box» e «column» è stato implementato il supporto per i caratteri a doppia larghezza;
    • Il comando «.imposter» ora può fornire in modalità sola lettura le tabelle impostore (che consentono di accedere ai dati nell'indice come se fossero una tabella), funzionanti con l'operazione VACUUM e non richiedenti l'avvio con il flag «—unsafe-testing»;
    • All'utilità sqlite e al comando «.open» è stata aggiunta l'opzione «—ifexists».
    • La larghezza massima della riga, impostata tramite il comando «.width», è limitata a 30000 caratteri.
  • Sono state apportate ottimizzazioni delle prestazioni:
    • Ridotto il carico della CPU durante il commit delle transazioni limitate all'accesso in sola lettura;
    • Migliorato il riconoscimento delle operazioni di join (JOIN) che non restituiscono righe a causa dell'assenza di righe in una o più tabelle;
    • Evitato l'esecuzione di sottoquery scalari che non influenzano il risultato;
    • Accelerato il funzionamento delle funzioni finestra nelle query con espressione «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» e con un valore molto grande di «:y».
  • È stata aggiunta la pragma «PRAGMA wal_checkpoint=NOOP» e la funzione API sqlite3_wal_checkpoint() per il commit delle modifiche nel WAL-log.
  • All'API sono state aggiunte le funzioni sqlite3_set_errmsg() e sqlite3_db_status64().
  • Nella versione JavaScript/WASM di SQLite è stato implementato il supporto per la compilazione in WebAssembly con puntatori a 64 bit.
  • È stata aumentata la resistenza ai danni del database nelle applicazioni che rimuovono i blocchi POSIX tramite la chiamata close().
  • Migliorato il supporto per la piattaforma VxWorks.

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