Oracle je oblikovao novu granu SDB-a MySQL 9.0.0. Izdanja MySQL Community Server 9.0.0 pripremljena su za sve glavne distribucije Linux-a, FreeBSD-a, macOS-a i Windows-a. U okviru modela objavljivanja verzija implementiranog prošle godine, MySQL 9.0 je svrstana u grane „Inovacija“, koje će obuhvatiti i značajne verzije MySQL 9.1 i 9.2. Grane Inovacija se preporučuju onima koji žele raniji pristup novim funkcionalnostima, objavljuju se svakih 3 meseca i podržavaju se samo do objavljivanja sledeće značajne verzije (na primer, nakon pojave grane 9.1, podrška za granu 9.0 će biti obustavljena). Oko godinu dana kasnije planira se formiranje LTS izdanja, koje će biti preporučeno za implementacije kojima je potrebna predvidivost i dugotrajno očuvanje nepromenjenog ponašanja. Nakon LTS grane biće formirana nova grana Inovacija — MySQL 10.0.
Glavne promene u MySQL 9.0:
- Prilikom izvršavanja konstrukcije „EXPLAIN ANALYZE INTO“ dodana je mogućnost čuvanja izlaza u JSON formatu u korisničku promenljivu, koja se kasnije može koristiti kao argument u funkcijama za rad sa JSON-om.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Dozvoljeno je formiranje izraza „CREATE EVENT“, „ALTER EVENT“ i „DROP EVENT“ kao parametarskih upita unutar čuvanih procedura. Kreiranje parametarskog upita vrši se korišćenjem izraza PREPARE, dok se izvršavanje obavlja izraza EXECUTE.
CREATE PROCEDURE sp(n INT)
POČNI
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;
KRAJ - Dodane su dve nove sistemske tabele koje sadrže informacije o sistemskim promenljivama: variables_metadata — sadrži informacije o imenima, dometima, tipovima i opsegu vrednosti svih sistemskih promenljivih koje podržava MySQL server; global_variable_attributes — sadrži vrednosti atributa postavljenih za globalne promenljive, kao što su offline_mode i read_only.
- Ranije je ukinuto proglašeno zastarelim server plugin mysql_native_password koji omogućava autentifikaciju pomoću lozinki. Umesto mysql_native_password, preporučuje se prelazak na korišćenje plugina caching_sha2_password, koji za heširanje koristi algoritam SHA2 umesto SHA1.
- Dodano je 15 spremenljivk za nastavitev in nadzor MLE (Component Multilingual Engine), ki omogoča uporabo kode v shranjenih postopkih in funkcijah v jezikih, ki niso SQL.
Izvor: opennet.ru
