Oracle ir izveidojusi jaunu MySQL datubāzu versiju 9.2.0. MySQL Community Server 9.2.0 izstrādes versijas ir sagatavotas visām galvenajām Linux, FreeBSD, macOS un Windows izplatījumu versijām. Saskaņā ar 2023. gadā ieviestajiem jaunajiem izlaidumu formēšanas modeļiem, MySQL 9.2 ir piešķirta "Inovāciju" filiālei, kurai tiks piešķirta arī nākamā būtiskā MySQL 9.3 versija. Inovāciju filiāles ir ieteiktas tiem, kas vēlas agrāk piekļūt jaunām funkcijām, tās tiek publicētas ik pēc trīs mēnešiem un tiek atbalstītas tikai līdz nākamā būtiskā izlaiduma publicēšanai (piemēram, pēc 9.2 filiāles izstrādes atbalsts 9.1 filiālei tiek pārtraukts). Vasara plānots izstrādāt LTS izlaidumu, kas ieteicams projektiem, kuriem nepieciešama paredzamība un ilgstoša uzvedības stabilitāte. Pēc LTS filiāles tiks izstrādāta jauna inovāciju filiāle — MySQL 10.0.
Galvenās izmaiņas MySQL 9.2:
- MLE (Daudzvalodu dzinējs) komponentā, kas ļauj izmantot kodu citās valodās, nevis SQL, saglabātās procedūrās un funkcijās, ir pievienota atbalsts atkārtoti izmantojamām JavaScript bibliotēm. Šo bibliotēku funkcijas var tikt izsauktas no JavaScript valodas saglabātām procedūrām, taču tām jābūt skaidri apzīmētām kā eksportējamas ar atslēgvārdu "export". JavaScript bibliotēku pieslēgšanai ir pievienoti jauni SQL izteiksmes "CREATE LIBRARY" un "DROP LIBRARY". Pieejamo JavaScript bibliotēku saraksta apskatei pievienota izteiksme "SHOW CREATE LIBRARY". Informācija par JavaScript bibliotēkām tiek attēlota sistēmiskajā tabulā "LIBRARIES", bet par saglabātajām procedūrām, kas izmanto šīs bibliotekas, tabulā "ROUTINE_LIBRARIES". Bibliotēkas pievienošana saglabātajā procedūrā tiek veikta, norādot bibliotēku sarakstu izteikumā "USING".
- Pievienots API piekļuvei saglabātām procedūrām, funkcijām un sesiju mainīgajiem no JavaScript kodu. Lai piekļūtu MySQL funkcijām, ir pievienots getFunction() metods, bet saglabātām procedūrām — getProcedure() metode, kas atgriež JavaScript funkciju objektu, kuru var izpildīt ar argumentiem. Piekļuve mainīgajiem notiek tieši kā pie JavaScript objektu Session īpašībām. Papildus ir pievienota iespēja tieši piekļūt iebūvētajām funkcijām rand(), sleep(), uuid() un isUUID(), kas ir līdzīgas attiecīgajām SQL funkcijām.
- Pievienots API darbs ar darījumiem no JavaScript, ļaujot veikt darbības ar vairumu SQL izteiksmju darījumu apstrādē, piemēram, „START TRANSACTION”, „COMMIT”, „ROLLBACK” un „SET AUTOCOMMIT”.
- Pievienota iespēja izmantot MySQL tipus ENUM un SET uzglabātu procedūru argumentos, kas rakstītas JavaScript.
- Pievienota privilēģija CREATE_SPATIAL_REFERENCE_SYSTEM, ar kuras palīdzību var pārvaldīt iespēju izveidot un dzēst telpisko datu saistību definīcijas ģeoinformācijas sistēmās. Šīs privilēģijas vai SUPER privilēģijas klātbūtne tagad ir obligāta, lai izpildītu izteiksmes „CREATE SPATIAL REFERENCE SYSTEM”, „CREATE OR REPLACE SPATIAL REFERENCE SYSTEM” un „DROP SPATIAL REFERENCE SYSTEM”.
- Ievadā „EXPLAIN FORMAT=JSON” pievienota informācija par JSON formāta versiju. Lai norādītu JSON formāta versiju, jāizmanto mainīgais explain_json_format_version („SET explain_json_format_version=1|2”).
- Atzīta par novecojušu: izteiksme „FLUSH PRIVILEGES”, komandas „mysqladmin flush-privileges” un „mysqladmin reload”, kā arī spraudnis „version_tokens”.
- Atbalsts atslēgvārdiem BINLOG ir pārtraukts.
- Novērstas 32 ievainojamības, no kurām 3 var izvērst attālināti. Divas nopietnākās problēmas ir ar 9.1 bīstamības līmeni un attiecas uz ievainojamībām Kerberos un Curl komponentos. Mazāk bīstamās ievainojamības skar InnoDB, Thread Pooling, DDL, optimizatoru, parseri un autentifikācijas sistēmu.
Avots: opennet.lv
