MySQL AB a publié une nouvelle version de MySQL 5. Il s'agit de la 5.1.15 qui vient essentiellement corriger des bugs découverts récemment.

Parmi les fonctionnalités apportées ou modifiées, on note deux points pouvant poser des problèmes de compatibilité :

  • La première concerne la variable système read_only. Son utilisation génère notamment une erreur s'il y avait des verrous explicites en cours ou des transactions en attente. De plus, son utilisation est bloquée si d'autres clients utilisent les verrous ou ont eux-mêmes des transactions en attente. Son utilisation ne pose toutefois aucun problème lors d'un global read lock car aucun table lock n'est alors impliqué.
  • La seconde concerne les formats de date via DATE_FORMAT(). Précedemment une chaîne binaire était retournée, maintenant la chaîne renvoyée utilise un jeu de caractères tel que la réponse puisse contenir des caractères non-ASCII, notamment pour les noms de mois et de jours de la semaine.

Les autres modifications de fonctionnalités ne devraient pas poser de problèmes de compatibilité, par exemple :

  • com_create_user a été ajouté et permet de comptabiliser les créations d'utilisateurs.
  • La valeur par défaut de max_connections est porté à 151 pour que les sites fonctionnant avec apache et MySQL ne puissent pas avoir plus de processus accédant à MySQL que le nombre maximal de processus possible par défaut (conformité avec la valeur MaxClient dans la configuration d'apache).
  • La bibliothèque empaquetée de yaSSL a été améliorée et portée à la version 1.5.0.
  • ...

De nombreux bugs ont également été corrigés, par exemple :

  • La valeur NULL ou NOT NULL affectée aux colonnes est maintenant correctement renvoyée par SHOW COLUMNS.
  • Les tentatives d'accéder à une table MyISAM ne posent plus problème même s'il y a une colonne corrompue.
  • Les tables MyISAM ne sont plus marquées "crashed" lorsqu'une tentative d'insertion ou de modification de données blob a échouée à cause d'une insuffisance de mémoire.
  • Des avertissements sont désormais affichés lorsqu'on essaie d'utiliser les options DATA DIRECTORY ou INDEX DIRECTORY sur une plateforme ne supportant pas ces options.
  • mysql_update n'échoue plus si le chemin vers le répertoire racine contient des espaces.
  • ...

Pour retrouver la liste complètes des apports et des corrections, vous pouvez consulter le changelog complet.