Rilascio del SGBD MySQL 9.2.0

Oracle ha creato un nuovo ramo del database MySQL 9.2.0. Le build di MySQL Community Server 9.2.0 sono state preparate per tutte le principali distribuzioni Linux, FreeBSD, macOS e Windows. Nell'ambito del nuovo modello di rilascio introdotto nel 2023, MySQL 9.2 è stato classificato come ramo "Innovation", a cui sarà assegnato anche il successivo rilascio significativo MySQL 9.3. I rami Innovation sono raccomandati per coloro che desiderano avere accesso anticipato alle nuove funzionalità, vengono pubblicati ogni 3 mesi e sono supportati solo fino alla pubblicazione del successivo rilascio significativo (ad esempio, dopo l'emissione del ramo 9.2, il supporto per il ramo 9.1 verrà interrotto). In estate è previsto un rilascio LTS, raccomandato per le implementazioni che necessitano di prevedibilità e di una lunga conservazione del comportamento invariato. Dopo il ramo LTS, sarà creato un nuovo ramo Innovation: MySQL 10.0.

Principali novità in MySQL 9.2:

  • Nel motore MLE (Multilingual Engine Component), è stata aggiunta la supporto per le librerie riutilizzabili in JavaScript all'interno delle procedure e delle funzioni, consentendo l'uso di codice in linguaggi diversi da SQL. Le funzioni di queste librerie possono essere chiamate dalle procedure memorizzate in JavaScript, ma devono essere esplicitamente contrassegnate come importabili tramite la parola chiave "export". Sono state aggiunte nuove istruzioni SQL "CREATE LIBRARY" e "DROP LIBRARY" per gestire il collegamento delle librerie JavaScript. È stata inoltre introdotta l'istruzione "SHOW CREATE LIBRARY" per visualizzare l'elenco delle librerie JavaScript disponibili. Le informazioni sulle librerie JavaScript sono riportate nella tabella di sistema "LIBRARIES", mentre quelle sulle procedure memorizzate che utilizzano tali librerie sono nella tabella "ROUTINE_LIBRARIES". Il collegamento della libreria in una procedura memorizzata avviene specificando l'elenco delle librerie nell'istruzione "USING".
  • È stata aggiunta un'API per accedere a procedure memorizzate, funzioni e variabili di sessione dal codice JavaScript. È stato aggiunto il metodo getFunction() per accedere alle funzioni MySQL e il metodo getProcedure() per le procedure memorizzate, che restituiscono un oggetto Function di JavaScript, che può essere eseguito con аргументи. L'accesso alle variabili avviene direttamente come proprietà dell'oggetto Session di JavaScript. Inoltre, è stata aggiunta la possibilità di accesso diretto alle funzioni incorporate rand(), sleep(), uuid() e isUUID(), che sono simili alle funzioni SQL con lo stesso nome.
  • È stata aggiunta un'API per gestire le transazioni da JavaScript, che consente di eseguire la maggior parte delle espressioni SQL per la gestione delle transazioni, come «START TRANSACTION», «COMMIT», «ROLLBACK» e «SET AUTOCOMMIT».
  • È stata aggiunta la possibilità di utilizzare i tipi MySQL ENUM e SET negli argomenti delle procedure memorizzate scritte in JavaScript.
  • È stata aggiunta la privilegio CREATE_SPATIAL_REFERENCE_SYSTEM, che consente di gestire la possibilità di creare e cancellare definizioni di riferimento spaziale per i sistemi di informazione geografica. La presenza di questo privilegio o del privilegio SUPER è ora obbligatoria per l'esecuzione delle espressioni «CREATE SPATIAL REFERENCE SYSTEM», «CREATE OR REPLACE SPATIAL REFERENCE SYSTEM» e «DROP SPATIAL REFERENCE SYSTEM».
  • Nell'output «EXPLAIN FORMAT=JSON» è stata aggiunta l'informazione sulla versione del formato JSON. Per impostare la versione del formato JSON, utilizzare la variabile explain_json_format_version («SET explain_json_format_version=1|2»).
  • Sono state dichiarate deprecate: l'espressione «FLUSH PRIVILEGES», i comandi «mysqladmin flush-privileges» e «mysqladmin reload», il plugin «version_tokens».
  • È stata interrotta la supporto della parola chiave BINLOG.
  • Sono state risolte 32 vulnerabilità, di cui 3 possono essere sfruttate da remoto. Due dei problemi più gravi hanno un livello di gravità di 9.1 e sono correlati a vulnerabilità nei componenti Kerberos e Curl. Vulnerabilità meno gravi riguardano InnoDB, Thread Pooling, DDL, ottimizzatore, parser e sistema di autenticazione.

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