Rilascio del DBMS SQLite 3.46

È stato pubblicato il rilascio di SQLite 3.46, un SGBD leggero, fornito come libreria collegabile. 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:

  • È stata aggiunta la possibilità di utilizzare il separatore «_» nei numeri per una rappresentazione più chiara dei letterali numerici (ad esempio, 1_234_567).
  • È stata aggiunta la funzione SQL json_pretty() per generare un output più leggibile in formato JSON, formattato utilizzando l'indentazione per i blocchi.
  • Espanse le capacità dell'operazione «PRAGMA optimize», che ottimizza il DB e tutti gli schemi di dati per ottenere le migliori prestazioni delle query. È stato implementato un limite di durata dell'analisi del DB applicato automaticamente, escludendo un tempo di elaborazione eccessivo per grandi DB. È stata aggiunta una nuova maschera di bits «PRAGMA optimize(0x10000)» per il controllo separato degli aggiornamenti in tutte le tabelle. Garantito il riesame automatico delle tabelle in cui non sono presenti record sqlite_stat1.
  • Aggiunta il supporto per i segnaposto %G, %g, %U e %V nella funzione SQL strftime().
  • Nelle funzioni SQL per lavorare con le date e gli orari sono stati aggiunti nuovi modificatori ceiling e floor per gestire il trattamento delle date ambigue che sorgono durante le operazioni di spostamento delle date di un certo numero di mesi o anni. I modificatori utc e localtime vengono ignorati se SQLite ha informazione che il tempo è già in formato UTC o localtime.
  • Sono state apportate ottimizzazioni al pianificatore delle query. Per le espressioni INSERT contenenti migliaia di valori nella sezione VALUES, è stata attivata per impostazione predefinita l'ottimizzazione «VALUES-as-coroutine», che consente di accelerare di circa due volte l'analisi di tali espressioni e di ridurre della metà il consumo di memoria. Per le query del tipo «SELECT count(DISTINCT col) FROM …» è stata consentita l'applicazione degli indici, anche se le dimensioni delle registrazioni nell'indice non sono inferiori a quelle nelle tabelle. Migliorata la logica di identificazione delle situazioni in cui vengono specificate costanti negli argomenti delle funzioni SQL. È stata garantita l'applicazione dell'ottimizzazione push-down per le espressioni WHERE che contengono sottoquery non correlate.
  • È stata modificata la logica di gestione del overflow dello stack: quando viene rilevata una mancanza di memoria per lo stack, il parser ora tenta di allocare ulteriore memoria dall'heap, invece di generare un errore "parser stack overflow".
  • In JSON è consentita la specifica di caratteri di controllo nei letterali stringa JSON5. È stata modificata la logica di funzionamento degli operatori "->" e "->>" quando nella parte destra l'operando stringa contiene solo numeri (analogamente a PostgreSQL, tali operandi vengono ora trattati come stringhe).
  • È consentita l'indicazione di grandi letterali esadecimali nel valore DEFAULT nelle colonne delle tabelle.

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