Oracle on loonud uue MySQL 9.2.0 andmebaasi haru. MySQL Community Server 9.2.0 koostised on valmistatud kĂ”igi peamiste Linuxi, FreeBSD, macOS ja Windows jaotuste jaoks. 2023. aastal rakendatud uue versioonide loomise mudeli kohaselt on MySQL 9.2 mÀÀratud «Innovatsiooni» harude alla, kuhu kuulub ka jĂ€rgmine oluline vĂ€ljaanne MySQL 9.3. Innovatsiooni harusid soovitatakse kasutada neile, kes soovivad varakult kasutada uusi funktsioone; need avaldatakse iga 3 kuu jĂ€rel ja neid toetatakse ainult jĂ€rgmise olulise vĂ€ljaande avaldamiseni (nt pĂ€rast 9.2 haru ilmumist lĂ”petatakse 9.1 haru tugi). Suvel kavatsetakse luua LTS-vĂ€ljaanne, mis on soovitatav juurutamiseks, mis vajab etteennustatavat kĂ€itumist ja pikaajalist muutumatust. LTS harule jĂ€rgneb uus Innovatsiooni haru â MySQL 10.0.
Peamised muutused MySQL 9.2:
- MLE (Multilingual Engine Component) mootorisse, mis vĂ”imaldab salvestatud protseduurides ja funktsioonides kasutada SQL-st erinevaid keelekode, on lisatud toetus uuesti kasutatavatele JavaScript'i teekidele. Sellest tĂŒĂŒpi teekide funktsioone saab kutsuda salvestatud protseduuridest JavaScript'i keeles, kuid need peavad olema selgelt mÀÀratletud kui imporditavad, kasutades mĂ€rksĂ”na âexportâ. JavaScript'i teekide ĂŒhenduse haldamiseks on lisatud uued SQL-lauseid âCREATE LIBRARYâ ja âDROP LIBRARYâ. Saadaval olevate JavaScript'i teekide loendi vaatamiseks on lisatud lause âSHOW CREATE LIBRARYâ. Teave JavaScript'i teekide kohta kajastub sĂŒsteemitabelis âLIBRARIESâ ning salvestatud protseduuride kohta, mis kasutavad selliseid teeke, tabelis âROUTINE_LIBRARIESâ. Teegi ĂŒhendamine salvestatud protseduuris toimub teekide nimekirja mÀÀramise kaudu lauses âUSINGâ.
- Lisatud API, mis vÔimaldab JavaScripti koodist juurde pÀÀseda salvestatud protseduuridele, funktsioonidele ja sessioonimuutujatele. MySQLi funktsioonide kasutamiseks on lisatud meetod getFunction(), salvestatud protseduuride jaoks meetod getProcedure(), mis tagastavad JavaScripti objekti Function, mida saab argumentidega kÀivitada. Muutujate juurde pÀÀseb otse nagu JavaScripti objekti Session omadustele. Lisaks on vÔimalik otse ligi pÀÀseda sisseehitatud funktsioonidele rand(), sleep(), uuid() ja isUUID(), mis on sarnased samanimeliste SQL-funktsioonidega.
- Lisatud API, mis toetab JavaScriptist tehingute töötlemist, vÔimaldades teostada enamikku SQL-vÀljendite tehingutega seotud tegevustest, nagu 'START TRANSACTION', 'COMMIT', 'ROLLBACK' ja 'SET AUTOCOMMIT'.
- Lisatud vĂ”imalus kasutada MySQLi tĂŒĂŒpe ENUM ja SET salvestatud protseduuride argumentides, mis on kirjutatud JavaScriptis.
- Lisatud privileeg CREATE_SPATIAL_REFERENCE_SYSTEM, millega saab hallata geoinformaatikasĂŒsteemide ruumiliste seoste loomise ja kustutamise vĂ”imalust. Selle privileegi vĂ”i SUPER privileegi olemasolu on nĂŒĂŒd vajalik, et tĂ€ita lauseid "CREATE SPATIAL REFERENCE SYSTEM", "CREATE OR REPLACE SPATIAL REFERENCE SYSTEM" ja "DROP SPATIAL REFERENCE SYSTEM."
- VĂ€ljundisse "EXPLAIN FORMAT=JSON" on lisatud teave JSON formaadi versiooni kohta. JSON formaadi versiooni seadmiseks tuleks kasutada muutujat explain_json_format_version ("SET explain_json_format_version=1|2").
- Kehtetuks kuulutatud: laused "FLUSH PRIVILEGES", kÀsud "mysqladmin flush-privileges" ja "mysqladmin reload", plugin "version_tokens".
- SÔna BINLOG toetamist on lÔpetatud.
- Eemaldatud on 32 haavatavust, millest 3 vĂ”ivad olla kaugelt Ă€ra kasutatavad. Kaks kĂ”ige tĂ”sisemat probleemi on ohutasemega 9.1 ja seotud Kerberose ja Curli komponentide haavatavustega. VĂ€hemalt ohtlikud haavatavused mĂ”jutavad InnoDB-d, Thread Poolingut, DDL-i, optimeerijat, parserit ja autentimisse sĂŒsteemi.
Allikas: opennet.ru
