Oracle imetoa tawi jipya la MySQL 9.2.0. Miundo ya MySQL Community Server 9.2.0 inapatikana kwa usambazaji wote kuu wa Linux, FreeBSD, macOS, na Windows. Kama sehemu ya muundo mpya wa toleo ulioanzishwa mnamo 2023, MySQL 9.2 imetumwa kwa matawi ya "Uvumbuzi", ambayo pia yatajumuisha toleo kuu linalofuata, MySQL 9.3. Matawi ya uvumbuzi yanapendekezwa kwa wale wanaotaka kupata ufikiaji wa mapema kwa utendakazi mpya, huchapishwa kila baada ya miezi 3 na hutumiwa tu hadi toleo kuu linalofuata (kwa mfano, baada ya tawi la 9.2 kutolewa, usaidizi wa tawi la 9.1 ulikomeshwa). Katika majira ya joto, wanapanga kuunda toleo la LTS linalopendekezwa kwa utekelezaji unaohitaji utabiri na uhifadhi wa muda mrefu wa tabia isiyobadilika. Kufuatia tawi la LTS, tawi jipya la Ubunifu litaundwa - MySQL 10.0.
Mabadiliko makubwa katika MySQL 9.2:
- MLE (Kipengele cha Injini za Lugha nyingi), ambayo inaruhusu matumizi ya msimbo katika lugha zingine isipokuwa SQL katika taratibu na vitendaji vilivyohifadhiwa, imepanuliwa ili kusaidia maktaba za JavaScript zinazoweza kutumika tena. Kazi kutoka kwa maktaba kama hizi zinaweza kuitwa kutoka kwa taratibu zilizohifadhiwa za JavaScript, lakini lazima ziweke alama wazi kuwa zimeagizwa kwa kutumia neno kuu la "hamisha". Taarifa mpya za SQL "CREATE MAKTABA" na "DROP MAKTABA" zimeongezwa ili kudhibiti muunganisho wa maktaba za JavaScript. Ili kuona orodha ya maktaba za JavaScript zinazopatikana, taarifa ya "ONYESHA UNDA MAKTABA" imeongezwa. Maelezo kuhusu maktaba ya JavaScript yanaonyeshwa kwenye jedwali la mfumo "LIBRARIES", na kuhusu taratibu zilizohifadhiwa zinazotumia maktaba kama hizo, kwenye jedwali "ROUTINE_LIBRARIES". Kuunganisha maktaba katika utaratibu uliohifadhiwa hufanywa kwa kubainisha orodha ya maktaba katika usemi wa "KUTUMIA".
- API iliyoongezwa ya kufikia taratibu zilizohifadhiwa, vitendaji na vigezo vya kikao kutoka kwa msimbo wa JavaScript. Njia ya getFunction() imeongezwa ili kufikia vitendaji vya MySQL, na njia ya getProcedure() imeongezwa kwa taratibu zilizohifadhiwa, ambazo hurejesha kitu cha Kazi ya JavaScript ambacho kinaweza kuendeshwa kwa hoja. Vigezo hufikiwa moja kwa moja kama sifa za kitu cha JavaScript ya Kipindi. Zaidi ya hayo, uwezo wa kufikia moja kwa moja kazi zilizojengewa ndani rand(), sleep(), uuid() na isUUID(), ambazo ni sawa na kazi za SQL za jina moja, umeongezwa.
- Umeongeza API ya muamala kutoka kwa JavaScript inayokuruhusu kutekeleza taarifa nyingi za SQL zinazohusiana na miamala, kama vile START TRANSACTION, COMMIT, ROLLBACK, na SET AUTOCOMMIT.
- Imeongeza uwezo wa kutumia MySQL ENUM na aina za SET katika hoja za taratibu zilizohifadhiwa zilizoandikwa katika JavaScript
- Aliongeza fursa ya CREATE_SPATIAL_REFERENCE_SYSTEM, ambayo inaweza kutumika kudhibiti uwezo wa kuunda na kufuta ufafanuzi wa marejeleo ya anga kwa data ya mifumo ya taarifa za kijiografia. Kuwa na mapendeleo haya au mapendeleo ya SUPER sasa kunahitajika kutekeleza MFUMO WA REJEA ENEO LA SPATIAL, KUUNDA AU KUBADILISHA MFUMO WA MAREJEO YA ENEO, na KUONDOA taarifa za MFUMO WA KUREJEA ENEO.
- Imeongeza maelezo ya toleo la umbizo la JSON kwenye towe la "EXPLAIN FORMAT=JSON". Ili kuweka toleo la umbizo la JSON, tumia utofauti wa explain_json_format_version (“SET explain_json_format_version=1|2”).
- Imeacha kutumika: usemi wa "FLUSH PRIVILEGES", "mysqladmin flush-privileges" na amri za "mysqladmin reload", programu-jalizi ya "version_tokens".
- Neno kuu la BINLOG limekatishwa.
- Athari 32 zimerekebishwa, 3 kati yake zinaweza kutumiwa kwa mbali. Masuala mawili mazito zaidi yana kiwango cha ukali cha 9.1 na yanahusiana na udhaifu katika vipengele vya Kerberos na Curl. Udhaifu mdogo huathiri InnoDB, Ukusanyaji wa Mazungumzo, DDL, kiboreshaji, kichanganuzi na mfumo wa uthibitishaji.
Chanzo: opennet.ru
