Existe-t-il une sorte d'interface non textuelle pour MySQL ?
Question
J'ai une requête MySQL qui renvoie un résultat avec une seule colonne d'entiers.Existe-t-il un moyen pour que l'API MySQL C transfère cela sous forme d'entiers plutôt que sous forme de texte ASCII ?D'ailleurs, existe-t-il un moyen pour que MySQL fasse /n'importe lequel/ des éléments de l'API autres que le texte ASCII.Je pense que cela permettrait de gagner un peu de temps dans sprintf/sscanf ou tout ce qui est utilisé ainsi que dans la bande passante.
La solution
Vous n'avez probablement pas de chance, pour être honnête.En regardant l'API MySQL C (http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html, http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html, regardez MYSQL_ROW), il ne semble pas y avoir de mécanisme pour renvoyer les données dans leur type réel...les joies de l'utilisation des structures, je suppose.
Vous pouvez toujours implémenter un wrapper qui vérifie l'attribut type de MYSQL_ROW (http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html) et renvoie une union C, mais c'est probablement un mauvais conseil ;ne fais pas ça.