| 1.6 Les évolutions de MySQL (la liste des tâches)
 1 Informations générales
 Manuel de Référence MySQL 4.1 : Version Française
 
 . Nouvelles fonctionnalités prévues pour la version 5.0
 . Nouvelles fonctionnalités prévues pour 5.1
 . Ce qui doit être fait dans un futur proche
 ->Ce qui est prévu à moyen terme
 . Ce qui n'est pas prévu
 
 
 | 
  1.6.4 Ce qui est prévu à moyen terme 
 
Implémenter la fonction :  
get_changed_tables(timeout,table1,table2,...)
 .
Remplacer la lecture dans les tables par une zone mémoire aussi souvent que 
possible. Actuellement, seules les tables compressées utilisent des 
memmap.
Rendre le code des timestamp automatiques bien plus pratique. Ajouter les timestamps
dans le log avec  
SET TIMESTAMP=#;
 .
Utiliser un mutex de lecture/écriture pour gagner de la vitesse.
Vues simples (implémentation progressive jusqu'à support total).
 Vues .
Fermer automatiquement des tables si une table, une table temporaire ou un
fichier temporaire reçoit une erreur 23 (plus assez de fichiers ouverts).
Meilleure propagation des constantes. Lorsqu'une occurrence de  
col_name=n
 
est trouvée dans une expression, pour une  
n
 , remplacer les autres occurrences
de  
col_name
  de l'expression avec  
n
 .
Actuellement, cela n'arrive que pour les cas les plus simples.
Changer toutes les expressions constantes par des expressions calculées,
si possible.
Optimiser les comparaisons  
key
  =  
expression
 . 
Actuellement, seules les relations 
 
key
  =  
column
  or  
key
  =  
constant
  sont optimisées.
Fusionner les fonctions de copie pour améliorer le code.
Changez  
sql_yacc.yy
  pour le remplacer par un analyseur de ligne de commande
plus petit, et qui gère mieux les messages.
Changer l'analyseur pour utiliser uniquement une règle pour tous les 
nombres d'arguments possibles dans une fonction.
Utiliser les calculs de noms complets dans la clause ORDER (pour ACCESS97).
MINUS
 ,  
INTERSECT
  et  
FULL OUTER JOIN
 .
(actuellement,  
UNION
  [en 4.0] et  
LEFT OUTER JOIN
  fonctionnent).
SQL_OPTION MAX_SELECT_TIME=#
  pour donner une limite de temps à une requête.
Diriger le log de modification vers une base.
Améliorer  
LIMIT
  pour permettre la lecture de données à la fin du résultat.
Alertes lors des connexions/écritures/lectures du client.
Notez ces modifications de  
safe_mysqld
  : selon la FSSTND (que 
Debian essaie de suivre) les fichiers PID devraient être placés dans 
 
/var/run/<progname>.pid
  et les fichiers de logs dans  
/var/log
 . 
Il serait bien si vous pouviez mettre le "DATADIR" dans la première 
déclaration de "pidfile" et "log", de façon à ce que l'emplacement
de ces fichiers puisse être modifié en une seule ligne.
Permettre au client de commander le log des actions.
Ajouter l'utilisation de  
zlib()
  pour les fichiers  
gzip
 , avec la
commande  
LOAD DATA INFILE
 .
Corriger le tri et le groupage avec les colonnes  
BLOB
  (en partie résolu).
Utiliser des sémaphores pour compter les threads. Il faut commencer
par implémenter des sémaphores pour  
MIT-pthreads
 .
Ajouter le support complet pour les  
JOIN
  avec parenthèses.
Comme alternative à la relation un thread, une connexion, gérer un groupe
de threads pour répondre aux requêtes.
Permettre la pose de plusieurs verrous avec  
GET_LOCK
 . Lors de ces verrous
multiples, gérer le cas des blocages par verrous qui pourrait être introduit.
 
Le temps est indiqué en temps de travail et non pas en temps normal.
 |