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.