Esiste qualche tipo di interfaccia non testuale per MySQL?
Domanda
Ho una query MySQL che restituisce un risultato con una singola colonna di numeri interi.Esiste un modo per fare in modo che l'API MySQL C lo trasferisca come numeri interi anziché come testo ASCII?Del resto esiste un modo per fare in modo che MySQL esegua /qualsiasi/ delle cose API come testo diverso dal testo ASCII.Penso che questo farebbe risparmiare un po' di tempo in sprintf/sscanf o qualunque altra cosa venga utilizzata, oltre che nella larghezza di banda.
Soluzione
Probabilmente sei sfortunato, a dire il vero.Osservando 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, guarda MYSQL_ROW) non sembra esserci un meccanismo per restituire i dati nel loro tipo reale...le gioie dell'utilizzo delle strutture, immagino.
Puoi sempre implementare un wrapper che controlli l'attributo type di MYSQL_ROW (http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html) e restituisce un'unione C, ma probabilmente è un cattivo consiglio;non farlo.