MariaDB 12.0.2 ya se ha publicado, lo que la convierte en la primera versión estable de la rama 12.0. Esta rama, clasificada como rolling release, continúa el desarrollo gradual de funcionalidades y reemplaza a la rama MariaDB 12.0. MariaDB 11.8, que se encuentra en fase de lanzamiento, se publicó simultáneamente. La rama MariaDB 12.1.1 recibirá soporte hasta la creación de la versión 12.0.
El proyecto MariaDB está desarrollando una bifurcación de MySQL que mantiene la compatibilidad con versiones anteriores y presenta la integración de motores de almacenamiento adicionales y capacidades avanzadas. El desarrollo de MariaDB es supervisado por la Fundación MariaDB independiente, siguiendo un proceso de desarrollo abierto y transparente que es independiente de los proveedores individuales. MariaDB se suministra como reemplazo de MySQL en muchas distribuciones de Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) y se ha implementado en proyectos tan grandes como Wikipedia, Google Cloud SQL y Nimbuzz.
Los cambios en la rama MariaDB 12.0 incluyen:
- Se agregó compatibilidad con claves SSL protegidas con contraseña. Contraseña para desbloquear. Certificados SSL Se puede configurar a través de la variable ssl_passphrase o manualmente al iniciar el servidor.
- Se agregó la expresión "ESTABLECER AUTORIZACIÓN DE SESIÓN" para realizar una acción bajo un usuario diferente al configurar los privilegios apropiados (la expresión puede considerarse como un análogo de "sudo" para el DBMS).
- Se agregó soporte para hashes SHA-2 al complemento file_key_management.so.
- Se añadió compatibilidad con variables de cursor débiles del tipo predefinido SYS_REFCURSOR, lo que permite devolver un cursor desde procedimientos almacenados (en el parámetro OUT) o desde funciones (en la instrucción RETURN). Se añadió la variable de sistema "max_open_cursors" para limitar el número máximo de cursores abiertos simultáneamente.
- El tipo TO_CHAR ahora admite el formato FM (Modo de Relleno) para evitar el relleno adicional. Por ejemplo, la consulta "SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');" devolverá "/Lunes/" en lugar de "/Lunes /".
- La utilidad mariadb-check y la expresión CHECK TABLE se han actualizado para admitir tablas del motor SEQUENCE.
- El optimizador ahora admite opciones (pistas) que afectan la construcción del plan de optimización: QB_NAME, NO_RANGE_OPTIMIZATION, NO_ICP, MRR, NO_MRR, BKA, NO_BKA, BNL, NO_BNL, SEMIJOIN, SUBQUERY, JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, JOIN_SUFFIX y MAX_EXECUTION_TIME. Las opciones se sustituyen en la consulta en un formato compatible con MySQL, por ejemplo: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- Se agregó soporte para nuevas funciones SIG (sistema de información geográfica): ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
- Se agregó compatibilidad con disparadores que se activan con múltiples eventos. La instrucción CREATE TRIGGER ahora puede listar los eventos que coinciden con ella usando la sintaxis "{ event [ OR … ] }".
- El complemento de auditoría ahora guarda información sobre los puertos de red para las conexiones entrantes en el registro de auditoría (anteriormente solo se mostraba el host).
- La utilidad mariadb tiene una opción "--script-dir" para especificar un directorio de búsqueda alternativo para los scripts ejecutados por el comando SOURCE.
- Se eliminaron las variables previamente obsoletas big_tables, large_page_size y storage_engine.
Fuente: opennet.ru

