A Oracle formou uma nova ramificação do SGBD MySQL 9.0. As versões do MySQL Community Server 9.0.0 estão disponíveis para todas as principais distribuições Linux, FreeBSD, macOS e Windows. No âmbito do modelo de lançamento implementado no ano passado, o MySQL 9.0 foi classificado como parte das ramificações "Inovação", às quais também serão atribuídos os próximos lançamentos significativos MySQL 9.1 e 9.2. As ramificações de inovação são recomendadas para aqueles que desejam acesso antecipado a novas funcionalidades, sendo publicadas a cada 3 meses e suportadas apenas até a publicação do próximo lançamento significativo (por exemplo, após o lançamento da ramificação 9.1, o suporte para a ramificação 9.0 será encerrado). Aproximadamente um ano depois, está planejado o lançamento de uma versão LTS, que será recomendada para implementações que necessitam de previsibilidade e comportamento inalterado a longo prazo. Após a ramificação LTS, uma nova ramificação de inovação será formada — MySQL 10.0.
Principais mudanças no MySQL 9.0:
- Adicionada a possibilidade de salvar a saída da construção "EXPLAIN ANALYZE INTO" no formato JSON em uma variável do usuário, que pode ser usada como argumento em funções que trabalham com JSON.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Permitido formatar as instruções "CREATE EVENT", "ALTER EVENT" e "DROP EVENT" como consultas parametrizadas dentro de procedimentos armazenados. A criação de uma consulta parametrizada é feita utilizando a expressão PREPARE, enquanto a execução é feita com a expressão EXECUTE.
CREATE PROCEDURE sp(n INT)
BEGIN
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;
FIM - Adicionadas duas novas tabelas de sistema que contêm informações sobre variáveis do sistema: variables_metadata — contém informações sobre nomes, escopo, tipos e intervalos de valores de todas as variáveis de sistema suportadas pelo servidor MySQL; global_variable_attributes — contém os valores dos atributos definidos para variáveis globais, como offline_mode e read_only.
- Removido o plugin de servidor mysql_native_password, que foi declarado obsoleto, que fornecia autenticação através de senhas. Recomenda-se a migração para o uso do plugin caching_sha2_password, que utiliza o algoritmo SHA2 para hashing em vez do SHA1.
- Adicionadas 15 variáveis para configuração e inspeção do mecanismo MLE (Multilingual Engine Component), permitindo o uso de código em procedimentos armazenados e funções em linguagens diferentes do SQL.
Fonte: opennet.ru
