Oracle on loonud uue MySQL 9.2.0 andmebaasi haru. MySQL Community Server 9.2.0 versioonid on valmistatud kĂ”ikide peamiste Linuxi, FreeBSD, macOS ja Windowsi distributsioonide jaoks. 2023. aastal kĂ€ivitatud uue versioonide vĂ€ljalaskemudeli raames klassifitseeritakse MySQL 9.2 'Innovation' harudesse, kuhu kuulub ka jĂ€rgmine oluline vĂ€ljaanne MySQL 9.3. Innovation-harusid soovitatakse neile, kes soovivad varakult juurdepÀÀsu uuele funktsionaalsusele; neid avaldatakse iga kolme kuu tagant ja toetatakse ainult jĂ€rgmise olulise vĂ€ljaande avaldamiseni (nĂ€iteks pĂ€rast haru 9.2 ilmumist lĂ”petatakse haru 9.1 toetamine). Suvel plaanitakse vĂ€lja anda LTS-versioon, mis on soovitatav kasutusele, millel on vajalik prognoositavus ja pikaajaline muutumatuse sĂ€ilitamine. JĂ€rgneva LTS-haru kĂ”rval moodustatakse uus Innovation-haru â MySQL 10.0.
Peamised muudatused MySQL 9.2:
- MLE (Multilingual Engine Component) mootorisse, mis vĂ”imaldab salvestatud protseduurides ja funktsioonides kasutada erinevat keelt kui SQL, on lisatud tugi korduvkasutatavate teekide jaoks JavaScripti keeles. Sellistest teekidest pĂ€rit funktsioone saab kutsuda vĂ€lja salvestatud protseduuridest JavaScripti keeles, kuid need peavad olema selgelt mĂ€rgitud kui imporditavad, kasutades mĂ€rksĂ”na 'export'. JavaScripti teekide ĂŒhendamise haldamiseks on lisatud uued SQL-lauseid 'CREATE LIBRARY' ja 'DROP LIBRARY'. Saadaval olevate JavaScripti teekide loendi vaatamiseks on lisatud lause 'SHOW CREATE LIBRARY'. Informatsioon JavaScripti teekide kohta kajastub sĂŒsteemitabelis 'LIBRARIES', samas kui salvestatud protseduuride, mis kasutavad sarnaseid teeke, kohta on teave tabelis 'ROUTINE_LIBRARIES'. Teegi ĂŒhendamine salvestatud protseduuris toimub teekide loetelu mĂ€rkimisega lauses 'USING'.
- On lisatud API, et pÀÀseda salvestatud protseduuridele, funktsioonidele ja sessioonimuutujatele JavaScripti koodist. MySQL funktsioonide juurde pÀÀsemiseks on lisatud meetod getFunction(), ja salvestatud protseduuride juurde pÀÀsemiseks â meetod getProcedure(), mis tagastavad JavaScripti objekti Function, mida saab kĂ€ivitada argumentidega. Muutujatesse pöördumine toimub otse nagu JavaScripti objekti Session omadustesse. Lisaks on lisatud otsepöördumisvĂ”ime sisseehitatud funktsioonidele rand(), sleep(), uuid() ja isUUID(), mis on sarnased samanimelistele SQL-funktsioonidele.
- Lisatud on API, mis toetab tehingute töötlemist JavaScriptis, vĂ”imaldades teostada enamikku SQL-lauseid, mis on seotud tehingutega, nagu âSTART TRANSACTIONâ, âCOMMITâ, âROLLBACKâ ja âSET AUTOCOMMITâ.
- Lisatud on vĂ”imalus kasutada MySQL tĂŒĂŒpide ENUM ja SET argumentide hulgas salvestatud protseduurides, mis on kirjutatud JavaScriptis.
- Lisatud on privileeg CREATE_SPATIAL_REFERENCE_SYSTEM, mille abil saab hallata vĂ”imalust luua ja kustutada geoinformatsiooni sĂŒsteemide ruumiliste seoste mÀÀratlemisi. Selle privileegi vĂ”i privileegi SUPER olemasolu on nĂŒĂŒd vajalik lauseid âCREATE SPATIAL REFERENCE SYSTEMâ, âCREATE OR REPLACE SPATIAL REFERENCE SYSTEMâ ja âDROP SPATIAL REFERENCE SYSTEMâ tĂ€itmiseks.
- Lausesse âEXPLAIN FORMAT=JSONâ on lisatud teavet JSONi formaadi versiooni kohta. JSONi formaadi versiooni seadmiseks tuleb kasutada muutujat explain_json_format_version (âSET explain_json_format_version=1|2â).
- Mugavused, nagu lause âFLUSH PRIVILEGESâ, kĂ€sud âmysqladmin flush-privilegesâ ja âmysqladmin reloadâ, plagin âversion_tokensâ, on deklareeritud aegunuks.
- Toetamine sÔna BINLOG on lÔpetatud.
- 32 haavatavust on kĂ”rvaldatud, millest 3 vĂ”ivad olla kaugtöödeldavad. Kaks tĂ”siseimat probleemi on ohutasemega 9.1 ja on seotud Kerberose ja Curl komponentide haavatavustega. VĂ€hem ohtlikud haavatavused mĂ”jutavad InnoDB, lĂ”imede rĂŒhmitamist, DDL, optimeerijat, parserit ja autentimissĂŒsteemi.
Allikas: opennet.ru
