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

È stata pubblicata la versione di SQLite 3.38, un DBMS leggero progettato come libreria plug-in. Il codice SQLite è distribuito nel pubblico dominio, cioè può essere utilizzato senza restrizioni e gratuitamente per qualsiasi scopo. Il supporto finanziario per gli sviluppatori SQLite è fornito da un consorzio appositamente creato, che comprende aziende come Adobe, Oracle, Mozilla, Bentley e Bloomberg.

Principali modifiche:

  • Aggiunto il supporto per gli operatori -> e ->> per facilitare l'estrazione dei dati in formato JSON. La nuova sintassi dell'operatore è compatibile con MySQL e PostgreSQL.
  • La struttura principale include funzioni per lavorare con i dati in formato JSON, la cui connessione in precedenza richiedeva un assembly con il flag "-DSQLITE_ENABLE_JSON1". Il flag "-DSQLITE_OMIT_JSON" è stato aggiunto per disabilitare il supporto JSON.
  • Aggiunta la funzione unixepoch() che restituisce il tempo epocale (il numero di secondi dal 1 gennaio 1970).
  • Per le funzioni che funzionano con il tempo sono stati implementati i modificatori “auto” e “julianday”.
  • La funzione SQL printf() è stata rinominata format() per migliorare la compatibilità con altri DBMS (viene mantenuto il supporto per il vecchio nome).
  • Aggiunta l'interfaccia sqlite3_error_offset() per facilitare l'individuazione degli errori in una query.
  • Sono state aggiunte nuove interfacce di programma all'implementazione delle tabelle virtuali: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() e sqlite3_vtab_in(), nonché nuovi tipi di operatori SQLITE_INDEX_CONSTRAINT_LIMIT e SQLITE_INDEX_CONSTRAINT_OFFSET.
  • L'interfaccia della riga di comando garantisce la corretta gestione dei caratteri di tabulazione e di avanzamento riga nell'output di testo in modalità a più colonne. Aggiunto il supporto per l'utilizzo delle opzioni "--wrap N", "--wordwrap on" e "-quote" durante l'output su più colonne. Il comando .import consente la correzione dei nomi delle colonne.
  • Per accelerare l'esecuzione di query analitiche di grandi dimensioni, il query planner utilizza una struttura di filtro probabilistico per determinare se un elemento è presente in un set. Un albero di unione bilanciato viene utilizzato per ottimizzare l'elaborazione dei blocchi UNION e UNION ALL che abbracciano istruzioni SELECT con clausole ORDER BY.

Inoltre, puoi notare la pubblicazione di una versione del set sqlite-utils 3.24, che include utilità e una libreria per manipolare file dal database SQLite. Operazioni come caricamento diretto di dati JSON, CSV o TSV in un file di database con creazione automatica dello schema di archiviazione necessario, esecuzione di query SQL su file CSV, TSV e JSON, ricerca full-text nel database, conversione dei dati e schemi di archiviazione nelle situazioni in cui ALTER non è applicabile sono supportati TABLE (ad esempio per cambiare il tipo di colonne), estraendo le colonne in tabelle separate.

Fonte: opennet.ru

Aggiungi un commento