Стабильный выпуск СУБД MariaDB 12.2

Опубликован выпуск СУБД MariaDB 12.2.2, который отмечен как первый стабильный релиз ветки 12.2. Ветка MariaDB 12.2 отнесена к промежуточным выпускам (rolling), продолжает постепенное развитие функциональности и пришла на смену ветке MariaDB 12.1. Одновременно опубликован выпуск MariaDB 12.3.1 с новой реализацией binlog, имеющий статус кандидата в релизы будущей LTS-ветки. Ветка MariaDB 12.2 будет сопровождаться до формирования выпуска 12.3.2.

Проектом MariaDB развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с открытым и прозрачным процессом разработки, не зависящим от отдельных производителей. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz.

Среди изменений в ветке MariaDB 12.2:

  • В режиме совместимости с СУБД Oracle реализованы функции TO_NUMBER (преобразование строки в число) и TRUNC (усечение даты, например, до часа, дня, месяца, года).
  • При выполнении операций слияния таблиц (JOIN) реализована оптимизация, учитывающая уникальность строк в подзапросах с выражением «GROUP BY» для более точного прогнозирования числа результирующих строк (out_rows) и корректного применения индексов.
  • Добавлены новые опции управления оптимизатором ROWID_FILTER/NO_ROWID_FILTER и INDEX_MERGE/NO_INDEX_MERGE, а также возможность неявного указания имён блоков в запросах (можно точечно применять опции оптимизации к частям запросов, ссылаясь на них по именам «select#N», где N — порядковый номер блока). Например: «select /*+ JOIN_ORDER(@»select#2″ twenty,ten) */ ….».
  • Сняты ограничения на уровень вложенности структур в функциях для работы с JSON (убран лимит JSON_DEPTH_LIMIT, который ранее принимал значение 32).
  • Добавлена таблица TRIGGERED_UPDATE_COLUMNS в схеме INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), показывающая столбцы, изменяемые при срабатывании триггера.
  • В таблице PARAMETERS в схеме INFORMATION_SCHEMA реализован столбец PARAMETER_DEFAULT, содержащий значения по умолчанию параметров хранимых процедур.
  • Реализована экспериментальная поддержка выражения «CREATE GLOBAL TEMPORARY TABLE» для создания глобальных временных таблиц. Подобные временные таблицы удаляются после завершения сеанса и видны всем пользователям, но содержат данные, индивидуальные для каждого пользователя.
  • В тестовом режиме предложена улучшенная поддержка репликации межу таблицами, имеющими разную структуру.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64826