Kompania Oracle krijoi njĂ« degĂ« tĂ« re pĂ«r DB-nĂ« MySQL 9.3.0. NdĂ«rtesat MySQL Community Server 9.3.0 janĂ« pĂ«rgatitur pĂ«r tĂ« gjithĂ« shpĂ«rndarjet kryesore tĂ« Linux, FreeBSD, macOS dhe Windows. Sipas modelit tĂ« ri tĂ« lĂ«shimeve tĂ« implementuar nĂ« vitin 2023, MySQL 9.3 Ă«shtĂ« klasifikuar nĂ« degĂ«t 'Innovation'. DegĂ«t Innovation rekomandohen pĂ«r ata qĂ« dĂ«shirojnĂ« tĂ« kenĂ« qasje mĂ« herĂ«t nĂ« funksionalitete tĂ« reja, publikohen çdo 3 muaj dhe mbĂ«shteten vetĂ«m deri nĂ« publikimin e lĂ«shimit tĂ« ardhshĂ«m tĂ« rĂ«ndĂ«sishĂ«m (p.sh., mbĂ«shtetja pĂ«r degĂ«n 9.2 ndalohet pas shfaqjes sĂ« degĂ«s 9.3). GjatĂ« verĂ«s pritet tĂ« formohet njĂ« lĂ«shim LTS 9.4, i rekomanduar pĂ«r implementime qĂ« kĂ«rkojnĂ« parashikueshmĂ«ri dhe ruajtje tĂ« sjelljes sĂ« pandryshuar pĂ«r njĂ« kohĂ« tĂ« gjatĂ«. Pas degĂ«s LTS do tĂ« formohet njĂ« degĂ« e re Innovation â MySQL 10.0.
Ndryshimet kryesore në MySQL 9.3:
- Funksionit mysqldump i Ă«shtĂ« shtuar opsioni "âusers" pĂ«r tĂ« krijuar dump-e logjike me informacione pĂ«r tĂ« gjitha llogaritĂ«, tĂ« cilat shfaqen pĂ«rmes shprehjeve SQL "CREATE USER" dhe "GRANT". Opsioni "âadd-drop-user" lejon vendosjen e shprehjes "DROP USER" para "CREATE USER", ndĂ«rsa opsionet "âinclude-user=user@host" dhe "âexclude-user=user@host" lejojnĂ« reflektimin selektiv tĂ« pĂ«rdoruesve tĂ« caktuar nĂ« dump, tĂ« cilat mund tĂ« specifikohen disa herĂ«.
- NĂ« motorin MLE (Multilingual Engine Component), i cili lejon pĂ«rdorimin e kodeve nĂ« procedurat e ruajtura dhe funksionet nĂ« gjuhĂ« tĂ« ndryshme nga SQL, Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r JavaScript. PĂ«r procedurat e ruajtura nĂ« gjuhĂ«n JavaScript Ă«shtĂ« implementuar tipi "DECIMAL", i cili mund tĂ« pĂ«rdoret pĂ«r argumentet hyrĂ«se dhe dalĂ«se. PĂ«r arsye sigurie, MySQL-tipi DECIMAL konvertohet nĂ« JavaScript-tipi "String" nga default, por kjo sjellje mund tĂ« anashkalohet me komandĂ«n âSELECT mle_set_session_state(â{âdecimal_typeâ:âNumberâ}â)â, pas sĂ« cilĂ«s do tĂ« pĂ«rdoret JavaScript-tipi "Number". Konvertimi nĂ« tipin DECIMAL mbĂ«shtet vlerat me tipet JavaScript Boolean, Number, String dhe BigInt.
- NĂ« procedurat e ruajtura nĂ« JavaScript Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r vendosjen e parametrave tĂ« lokalizimit, duke pĂ«rdorur API-nĂ« JavaScript Intl. PĂ«r shembuj, pĂ«r tĂ« pĂ«rcaktuar lokalitetin aktual mund tĂ« pĂ«rdoren pronat «Intl.DateTimeFormat().resolvedOptions().locale», ndĂ«rsa pĂ«r tĂ« anuluar lokalitetin â metoda «toLocaleString()».
- JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r menaxhimin e bibliotekave JavaScript: pĂ«r tĂ« ndryshuar listĂ«n e bibliotekave tĂ« importuara tani mund tĂ« pĂ«rdoren shprehjet «ALTER PROCEDURE» dhe «ALTER FUNCTION». ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« shprehjes «ALTER LIBRARY» pĂ«r tĂ« shtuar, hequr ose ndryshuar komentet SQL pĂ«r bibliotekĂ«n. PĂ«r tĂ« marrĂ« informacion rreth bibliotekĂ«s, Ă«shtĂ« implementuar shprehja «SHOW LIBRARY STATUS».
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ngarkimin dinamik tĂ« bibliotekave JavaScript. PĂ«r importimin dinamik tĂ« bibliotekĂ«s, duhet tĂ« pĂ«rdoret fjala kyçe «await», pĂ«r shembuj «let module = await import(â/db1/lib_${object_type}â)».
- Janë zgjeruar optimizimet e kërkesave që përdorin operatorë krahasimi të kuantifikuar. Përveç mbështetjes për operatorët «=ANY» dhe «ALL», në optimizimin e nën-kërkesave në versionin e ri është shtuar mbështetje për operatorët «>ANY», «>=ANY», «<ANY», «ALL», «>=ALL», «<ALL» dhe «<=ALL».
- Pluginu «version_tokens» që ishte shpallur i tejkaluar është fshirë.
- Ndalohet vendosja e vlerës 0 në variablën sistemike replica_parallel_workers.
- Janë eliminuar 28 vulnerabilitete, 26 prej të cilave mund të shfrytëzohen në distancë nëse ka qasje për të dërguar kërkesa në DBMS. Gjithashtu, gjashtë problemet më serioze kanë nivelin e rrezikshmërisë 6.5 dhe lidhen me vulnerabilitetet në motorin InnoDB, parserin dhe optimizuesin. Vulnerabilitete më pak të rrezikshme prekin mysqldump, InnoDB, optimizuesin, DDL, UDF, parserin dhe sistemin e replikimit.
Burimi: opennet.ru
