Rilascio del DBMS SQLite 3.46

È stato pubblicato il rilascio di SQLite 3.46, un DBMS leggero implementato come libreria dinamica. Il codice di SQLite è distribuito come pubblico dominio, 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.

Principali modifiche:

  • È stata introdotta 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 un'intestazione con rientri.
  • Sono state ampliate le funzionalità dell'operazione «PRAGMA optimize», che ottimizza il database e tutti gli schemi dati per raggiungere le migliori prestazioni delle query. È stato implementato un limite automatico sulla durata dell'analisi del database, escludendo tempi di elaborazione eccessivi per database di grandi dimensioni. È stata aggiunta una nuova maschera di bits «PRAGMA optimize(0x10000)» per un controllo separato degli aggiornamenti in tutte le tabelle. È garantita la riesecuzione automatica dell'analisi delle tabelle in cui mancano i record sqlite_stat1.
  • La funzione SQL strftime() ha aggiunto il supporto per i segnaposto %G, %g, %U e %V.
  • Nelle funzioni SQL per la gestione di date e orari sono stati aggiunti nuovi modificatori ceiling e floor per controllare il trattamento delle date ambigue che si verificano durante le operazioni di spostamento delle date di un certo numero di mesi o anni. È garantito che i modificatori utc e localtime vengano ignorati se SQLite ha informazioni sul fatto che l'ora è già in formato UTC o localtime.
  • Sono state apportate ottimizzazioni al pianificatore di query. Per le espressioni INSERT contenenti migliaia di valori nella sezione VALUES, l'ottimizzazione 'VALUES-as-coroutine' è attivata per impostazione predefinita, consentendo circa il doppio della velocità nell'analisi di tali espressioni e riducendo della metà il consumo di memoria. Per le query del tipo 'SELECT count(DISTINCT col) FROM ...' è consentito l'uso degli indici, anche se le dimensioni delle righe nell'indice non sono inferiori a quelle nella tabella. È stata migliorata la logica per definire le situazioni in cui vengono specificate costanti negli argomenti delle funzioni SQL. È stata implementata l'ottimizzazione push-down per le espressioni WHERE che contengono sottoquery non correlate.
  • La logica di gestione dell'overflow dello stack è stata modificata: quando viene rilevata una mancanza di memoria per lo stack, il parser ora tenta di allocare memoria aggiuntiva dall'heap, invece di restituire l'errore "parser stack overflow".
  • In JSON è consentito specificare caratteri di controllo nei litereali stringa JSON5. È stata modificata la logica di funzionamento degli operatori "->" e "->>" quando l'operando stringa a destra contiene solo cifre (analogamente a PostgreSQL, tali operandi vengono ora trattati come stringhe).
  • È consentita la specifica di grandi letterali esadecimali nel valore DEFAULT delle colonne delle tabelle.

Fonte: opennet.ru

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