La publication de la version 12.2.2 du SGBD MariaDB a eu lieu, marquĂ©e comme le premier version stable de la branche 12.2. La branche MariaDB 12.2 est classĂ©e parmi les versions intermĂ©diaires (rolling), poursuivant le dĂ©veloppement progressif de ses fonctionnalitĂ©s et remplaçant la branche MariaDB 12.1. En mĂȘme temps, la version MariaDB 12.3.1 a Ă©tĂ© publiĂ©e avec une nouvelle implĂ©mentation du binlog, ayant le statut de candidate pour les futures versions LTS. La branche MariaDB 12.2 sera maintenue jusqu'Ă la sortie de la version 12.3.2.
Le projet MariaDB développe une bifurcation de MySQL, préservant la rétrocompatibilité et se distinguant par l'intégration de moteurs de stockage supplémentaires et de fonctionnalités avancées. Le développement de MariaDB est supervisé par l'organisation indépendante MariaDB Foundation conformément à un processus de développement ouvert et transparent, sans dépendance vis-à -vis de fournisseurs individuels. MariaDB est fourni à la place de MySQL dans de nombreuses distributions Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) et est intégré dans d'importants projets tels que Wikipedia, Google Cloud SQL et Nimbuzz.
Parmi les changements dans la branche MariaDB 12.2 :
- En mode de compatibilité avec le SGBD Oracle, les fonctions TO_NUMBER (conversion de chaßne en nombre) et TRUNC (tronquer une date, par exemple, à l'heure, au jour, au mois, à l'année) ont été implémentées.
- Lors de l'exĂ©cution des opĂ©rations de fusion de tables (JOIN), une optimisation tenant compte de l'unicitĂ© des lignes dans les sous-requĂȘtes avec l'expression «GROUP BY» a Ă©tĂ© mise en Ćuvre pour prĂ©dire plus prĂ©cisĂ©ment le nombre de lignes rĂ©sultantes (out_rows) et appliquer correctement les index.
- De nouvelles options de gestion de l'optimiseur ROWID_FILTER/NO_ROWID_FILTER et INDEX_MERGE/NO_INDEX_MERGE ont Ă©tĂ© ajoutĂ©es, ainsi que la possibilitĂ© de spĂ©cifier implicitement les noms de blocs dans les requĂȘtes (il est possible d'appliquer des options d'optimisation Ă des parties spĂ©cifiques des requĂȘtes en s'y rĂ©fĂ©rant par des noms tels que « select#N », oĂč N est le numĂ©ro sĂ©quentiel du bloc). Par exemple : « select /*+ JOIN_ORDER(@âselect#2âł twenty,ten) */ ⊠».
- Suppression des limites du niveau d'imbrication des structures dans les fonctions travaillant avec JSON (la limite JSON_DEPTH_LIMIT, qui était précédemment de 32, a été supprimée).
- Ajout de la table TRIGGERED_UPDATE_COLUMNS dans le schéma INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), montrant les colonnes modifiées lors de l'activation d'un déclencheur.
- Dans la table PARAMETERS du schéma INFORMATION_SCHEMA, une colonne PARAMETER_DEFAULT a été implémentée, contenant les valeurs par défaut des paramÚtres des procédures stockées.
- Le support expérimental de l'instruction « CREATE GLOBAL TEMPORARY TABLE » pour créer des tables temporaires globales a été réalisé. De telles tables temporaires sont supprimées aprÚs la fin de la session et sont visibles par tous les utilisateurs, mais contiennent des données individuelles pour chaque utilisateur.
- Un soutien amélioré pour la réplication entre les tables ayant des structures différentes a été proposé en mode de test.
Source : opennet.ru
