Rilascio di SQLite 3.38 e del set di utilità sqlite-utils 3.24

È stato pubblicato il rilascio di SQLite 3.38, un database leggero implementato come libreria collegabile. Il codice di SQLite è distribuito come dominio pubblico, il che significa che può essere utilizzato liberamente e senza restrizioni per qualsiasi scopo. Il supporto finanziario per gli sviluppatori di SQLite è fornito da un consorzio appositamente costituito, che include aziende come Adobe, Oracle, Mozilla, Bentley e Bloomberg.

Principali modifiche:

  • È stato aggiunto il supporto per gli operatori -> e ->>, che semplificano l'estrazione di dati in formato JSON. La sintassi dei nuovi operatori è compatibile con MySQL e PostgreSQL.
  • Nel core sono state incluse funzioni per lavorare con dati in formato JSON, per le quali in precedenza era necessaria una build con il flag «-DSQLITE_ENABLE_JSON1». È stato aggiunto il flag «-DSQLITE_OMIT_JSON» per disabilitare il supporto JSON.
  • È stata aggiunta la funzione unixepoch(), che restituisce il tempo epocale (il numero di secondi dall'1 gennaio 1970).
  • Per le funzioni di gestione del tempo sono stati implementati i modificatori «auto» e «julianday».
  • La funzione SQL printf() è stata rinominata in format() per migliorare la compatibilità con altri DBMS (il vecchio nome è mantenuto).
  • È stata aggiunta l'interfaccia sqlite3_error_offset() per semplificare la determinazione della posizione degli errori nella query.
  • Sono state aggiunte nuove interfacce nei motori virtuali delle tabelle: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() e sqlite3_vtab_in(), così come nuovi tipi di operatori SQLITE_INDEX_CONSTRAINT_LIMIT e SQLITE_INDEX_CONSTRAINT_OFFSET.
  • Nell'interfaccia della riga di comando è stata migliorata la gestione dei caratteri di tabulazione e di interruzione di riga nel testo visualizzato in modalità multi-colonna. È stata aggiunta la supporto per le opzioni «—wrap N», «—wordwrap on» e «—quote» durante la visualizzazione in più colonne. Nella comando .import è stata garantita la corretta regolazione dei nomi delle colonne.
  • Nel pianificatore delle query, per accelerare l'esecuzione di grandi query analitiche, è stata implementata una struttura probabilistica chiamata bloom filter, utilizzata per determinare la presenza di un elemento in un insieme. Per ottimizzare l'elaborazione dei blocchi UNION e UNION ALL, che comprendono espressioni SELECT con sezioni ORDER BY, è stato utilizzato un albero di fusione bilanciato.

Inoltre, è possibile segnalare la pubblicazione della versione del pacchetto sqlite-utils 3.24, che include strumenti e librerie per la manipolazione dei file con il database SQLite. Sono supportate operazioni come l'importazione diretta di dati JSON, CSV o TSV in un file di database con la creazione automatica della schema necessaria, l'esecuzione di query SQL su file CSV, TSV e JSON, la ricerca full-text nel database, la trasformazione di dati e schema del database in situazioni in cui ALTER TABLE non è applicabile (ad esempio, per modificare il tipo delle colonne), l'estrazione di colonne in tabelle separate.

Fonte: opennet.ru

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