Description:
Hi, I have noticed that MyODBC driver ver.3.51.06 ins't fully compliant
with MySQL RDBMS ver.4.0.16.
In fact, the MYSQL_FIELD struct used by
MyODBC-3.51.06/driver/catalog.c, MyODBC-3.51.06/driver/info.c
is different from MYSQL_FIELD defined in
/usr/local/mysql/include/mysql.h:
typedef struct st_mysql_field {
char *name; /* Name of column */
char *table; /* Table of column if column was a field */
char *org_table; /* Org table name if table was an alias */
char *db; /* Database for table */
char *def; /* Default value (set by mysql_list_fields) */
unsigned long length; /* Width of column */
unsigned long max_length; /* Max width of selected set */
unsigned int flags; /* Div flags */
unsigned int decimals; /* Number of decimals in field */
enum enum_field_types type; /* Type of field. Se mysql_com.h for types
*/
} MYSQL_FIELD;
(it holds 10 fields)
For example, from MyODBC-3.51.06/driver/catalog.c:
MYSQL_FIELD SQLTABLES_fields[] = {
{"TABLE_CAT","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,0},
{"TABLE_SCHEM","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,0},
{"TABLE_NAME","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,NAME_LEN,0},
{"TABLE_TYPE","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,5,0},
{"REMARKS","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,11}};
(note that MYSQL_FIELD now is used with 6 fields).
Is it possibile to solve this problem for next src/binary distributions?
How to repeat:
See above.
Description: Hi, I have noticed that MyODBC driver ver.3.51.06 ins't fully compliant with MySQL RDBMS ver.4.0.16. In fact, the MYSQL_FIELD struct used by MyODBC-3.51.06/driver/catalog.c, MyODBC-3.51.06/driver/info.c is different from MYSQL_FIELD defined in /usr/local/mysql/include/mysql.h: typedef struct st_mysql_field { char *name; /* Name of column */ char *table; /* Table of column if column was a field */ char *org_table; /* Org table name if table was an alias */ char *db; /* Database for table */ char *def; /* Default value (set by mysql_list_fields) */ unsigned long length; /* Width of column */ unsigned long max_length; /* Max width of selected set */ unsigned int flags; /* Div flags */ unsigned int decimals; /* Number of decimals in field */ enum enum_field_types type; /* Type of field. Se mysql_com.h for types */ } MYSQL_FIELD; (it holds 10 fields) For example, from MyODBC-3.51.06/driver/catalog.c: MYSQL_FIELD SQLTABLES_fields[] = { {"TABLE_CAT","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,0}, {"TABLE_SCHEM","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,0}, {"TABLE_NAME","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,NAME_LEN,0}, {"TABLE_TYPE","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,5,0}, {"REMARKS","Catalog",NULL,FIELD_TYPE_VAR_STRING,NAME_LEN,11}}; (note that MYSQL_FIELD now is used with 6 fields). Is it possibile to solve this problem for next src/binary distributions? How to repeat: See above.