Uzņēmums Oracle ir izveidojis jaunu MySQL 9.0.0 datubāzu pārvaldības sistēmas (DBPS) versiju. MySQL Community Server 9.0.0 izstrādātie versijas ir pieejami visām galvenajām Linux, FreeBSD, macOS un Windows distribūcijām. Saskaņā ar pagājušajā gadā ieviesto izlaidumu veidošanas modeli MySQL 9.0 ir klasificēts kā "Innovation" versijas, kurām pievienosies arī ievērojamas MySQL 9.1 un 9.2 versijas. Innovation versijas ir ieteicamas tiem, kas vēlas agrāk piekļūt jaunajām funkcionalitātēm, tās tiek publicētas ik pēc trim mēnešiem un tiek atbalstītas tikai līdz nākamā būtiskā izlaiduma publicēšanai (piemēram, pēc 9.1 versijas iznākšanas 9.0 versija tiks pārtraukta). Apmēram pēc gada plānots izveidot LTS izlaidumu, kas tiks ieteikts ieviešanai, kurām nepieciešama prognozējamība un ilgtspējīga uzvedība. Pēc LTS versijas izveidošanas tiks izveidota jauna Innovation versija — MySQL 10.0.
Galvenie jauninājumi MySQL 9.0:
- Izmantojot konstrukciju "EXPLAIN ANALYZE INTO", pievienota iespēja saglabāt izvadi JSON formātā lietotāja mainīgajā, kuru var izmantot kā argumentu JSON funkcijām.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Atļauts veidot izteiksmes "CREATE EVENT", "ALTER EVENT" un "DROP EVENT" kā parametrizētas pieprasījumus iekšējās uzglabātajās procedūrās. Parametrizēta pieprasījuma izveidošana tiek veikta, izmantojot izteiksmi PREPARE, bet izpilde — izmantojot izteiksmi EXECUTE.
CREATE PROCEDURE sp(n INT)
SĀKT
SET @s1 = "CREATE EVENT e ON SCHEDULE EVERY ";
SET @s2 = " SECOND"
STARTS CURRENT_TIMESTAMP + INTERVAL 10 SECOND
ENDS CURRENT_TIMESTAMP + INTERVAL 2 MINUTE
ON COMPLETION PRESERVE
DO
INSERT INTO d.t VALUES ROW(NULL, NOW(), FLOOR(RAND()*100))";SET @s = CONCAT(@s1, n, @s2);
PREPARE ps FROM @s;
EXECUTE ps;
DEALLOCATE PREPARE ps;
BEIGAS - Pievienotas divas jaunas sistēmas tabulas, kas satur informāciju par sistēmas mainīgajiem: variables_metadata — satur informāciju par nosaukumiem, darbības jomu, tipiem un vērtību diapazoniem visiem MySQL servera atbalstītajiem sistēmas mainīgajiem; global_variable_attributes — satur vērtības atribūtiem, kas noteikti globālajiem mainīgajiem, piemēram, offline_mode un read_only.
- Tika izņemts iepriekš atzītais novecojis servera spraudnis mysql_native_password, kas nodrošina autentifikāciju ar parolēm. Vietā mysql_native_password ieteicams izmantot spraudni caching_sha2_password, kas izmanto SHA2 algoritmu hēšošanai tā vietā, lai izmantotu SHA1.
- Pievienoti 15 mainīgie MLE (Multilingual Engine Component) dzinēja pielāgošanai un pārbaudei, ļaujot izmantot procedūrās un funkcijās kodu valodās, kas atšķiras no SQL.
Avots: opennet.lv
