Bonjour,
Je reviens avec un nouveau bug du composant TADOQuery...
Lors de l'exécution d'un SELECT sur une table, ADO insert automatiquement un champ rowid dans sa requête, ceci pour lui permettre de construire ses propres requêtes UPDATE, ou DELETE lors de l'utilisation de .post
Là où c'est hallucinant, c'est qu'il ajoute ce champ en premier dans la liste des champs sélectionnés.
Résultat, si vous essayez de préciser une Directive Index comme suit :
SELECT /*+INDEX (client, aki1_client)*/ nom, prenom, ville from client)
ADO va générer la requête suivante :
SELECT rowid, /*+INDEX (client, aki1_client)*/ nom, prenom, ville from client)
ce qui a pour effet de bloquer l'interprétation de Directive Index.
La problème ne se pose pas pour un SELECT sur plusieurs tables car il n'y a évidemment pas de ROWID d'insérer dans la requête.
J'ai ouvert un case chez Embarcadero, et dans l'attente, avez-vous déjà observé ça ?
(Configuration : Delphi XE2, Windows 7 64 bits, BDD Informix)
Partager