Miklos Tirpak escribió:
Seem that VAL_TYPE of "val + 2" isn't STRING, read it as DOUBLE (DB_DOUBLE = 1). Do not know why. And because of this the 'if' conditions never are satisfy on trusted.c (line #396):
if ((ROW_N(row + i) == 3) && (VAL_TYPE(val) == DB_STRING) && !VAL_NULL(val) && (VAL_TYPE(val + 1) == DB_STRING) && !VAL_NULL(val
- && (VAL_TYPE(val + 2) == DB_STRING) && !VAL_NULL(val
- 2)) {
Thank you very much for the debug lines! I think SER simply uses the field types returned by the mysql server, so there might be a problem with the server or library. You can check what the field types are along with their names returned by the server in modules/mysql/res.c, search for the mysql_fetch_fields function.
Miklos
Miklos,
I've resolved this issue and a similar one ("preload_udomain error"). There was an old installation of mysql libs (in /usr/sfw/), then I removed it, and finally recompile mysql.so module including correct mysql.h (/opt/csw/).
Now fields returned are with their correct type.
Thank you..
Caio