Rilascio del DBMS SQLite 3.45

È stato pubblicato il rilascio di SQLite 3.45, un sistema di gestione di database leggero, fornito come libreria dinamica. 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 appositamente creato, che include aziende come Bentley, Bloomberg, Expensify e Navigation Data Standard.

Variazioni principali:

  • Tutte le funzioni SQL per lavorare con il formato JSON sono state riscritte e tradotte in un nuovo formato interno ad albero di parsing JSONB, che viene serializzato e può essere memorizzato nel database per escludere il riesame durante l'uso dei valori JSON. Le nuove versioni delle funzioni che generano JSON ora producono il formato binario JSONB invece di quello testuale. Nella funzione json_valid() è stato aggiunto un secondo argomento facoltativo, attraverso il quale è possibile specificare una maschera di bit che definisce le caratteristiche di un JSON valido (ad esempio, specificando 0x04, si riconoscerà un blob JSONB come valido, specificando 0x01, il JSON testuale nel formato RFC-8259, e specificando 0x05, entrambi i formati).
  • Nella tabella virtuale FTS5, utilizzata per la ricerca a testo completo, è stata aggiunta l'opzione tokendata, che consente di utilizzare tokenizer personalizzati.
  • Per impostazione predefinita, è abilitata l'ottimizzazione SQLITE_DIRECT_OVERFLOW_READ, in cui le pagine di overflow, le cui dimensioni superano le dimensioni standard di pagina b-tree, vengono lette direttamente dal file, evitando la cache. Per disabilitarla durante la compilazione, è possibile utilizzare l'opzione "-DSQLITE_DIRECT_OVERFLOW_READ=0".
  • Nell'ottimizzatore delle query è stata migliorata l'efficienza dell'ottimizzazione dei vincoli transitivi e migliorato il modo in cui vengono ignorati gli indici considerati di bassa qualità durante l'esecuzione dell'operazione ANALYZE.
  • Nell'interfaccia della riga di comando è stata migliorata la visualizzazione dei contenuti in codifica UTF-8 sulla piattaforma Windows. È stata garantita l'autodetezione dell'uso dell'interfaccia CLI durante l'esecuzione di script '.dump' e sono state apportate le relative modifiche alle impostazioni, come '.dbconfig defensive off' e '.dbconfig dqs_dll on'.
  • Nelle funzioni SQL definite a livello dell'applicazione è stata aggiunta la proprietà SQLITE_RESULT_SUBTYPE, che consente di chiamare la funzione sqlite3_result_subtype() per ispezionare i sottotipi degli argomenti.

Inoltre, si può notare lo sviluppo in versioni sperimentali di SQLite di una nuova modalità di registrazione delle transazioni — WAL2 («PRAGMA journal_mode = wal2»), in cui vengono utilizzati due file wal ( «database-wal» e «database-wal2») invece di uno solo. Durante la scrittura dei dati nel DB, i nuovi dati vengono aggiunti al primo file wal. Se il primo file wal raggiunge dimensioni sufficientemente grandi, si passa alla scrittura nel secondo file. Dopo il passaggio al secondo file wal, il primo diventa disponibile per la registrazione delle modifiche (checkpoint) e la riscrittura. Pertanto, quando il secondo file wal raggiunge una grande dimensione, si passa al primo e così via, il che risolve il problema dell'aumento incontrollato del file wal in situazioni in cui la transazione non viene registrata a lungo o si eseguono processi di lettura prolungati.

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