Доступна СУБД MySQL 9.0.0
Компания Oracle сформировала новую ветку СУБД MySQL 9.0.0. Сборки MySQL Community Server 9.0.0 подготовлены для всех основных дистрибутивов Linux, FreeBSD, macOS и Windows. В рамках внедрённой в прошлом году модели формирования релизов, MySQL 9.0 отнесён к веткам «Innovation», к которым также будут отнесены следующие значительные релизы MySQL 9.1 и 9.2. Innovation-ветки рекомендованы для тех, кто хочет раньше получать доступ к новой функциональности, публикуются каждые 3 месяца и поддерживаются только до публикации следующего значительного релиза (например, после появления ветки 9.1 будет прекращена поддержка ветки 9.0). Примерно через год планируют сформировать LTS-релиз, который будет рекомендован для внедрений, которым необходима предсказуемость и длительное сохранение неизменного поведения. Следом за LTS-веткой будет сформирована новая Innovation-ветка — MySQL 10.0.
Основные изменения в MySQL 9.0:
При выполнении конструкции «EXPLAIN ANALYZE INTO» добавлена возможность сохранения вывода в формате JSON в пользовательскую переменную, которая затем может использоваться в качестве аргумента в функциях для работы с JSON.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Разрешено оформление выражений «CREATE EVENT», «ALTER EVENT» и «DROP EVENT» в виде параметризованных запросов внутри хранимых процедур. Создание параметризованного запроса осуществляется с использованием выражения PREPARE, а выполнение — выражения 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; END
Добавлены две новые системные таблицы, содержащие сведения о системных переменных: variables_metadata — содержит информацию об именах, области действия, типах и диапазонах значений всех поддерживаемых MySQL-сервером системных переменных; global_variable_attributes — содержит значения атрибутов, выставленных для глобальных переменных, таких как offline_mode и read_only.
Удалён ранее объявленный устаревшим серверный плагин mysql_native_password, обеспечивающий аутентификацию при помощи паролей. Вместо mysql_native_password рекомендуется перейти на использование плагина caching_sha2_password, применяющего для хэширования алгоритм SHA2 вместо SHA1.
Добавлено 15 переменных для настройки и инспектирования движка MLE (Multilingual Engine Component), позволяющего использовать в хранимых процедурах и функциях код на языках, отличных от SQL.
Источник: http://www.opennet.ru/opennews/art.shtml? num=61476
© OpenNet