Bug #3303 MyODBC ver. 3.51.06 not fully-compliant with MySQL RDBMS ver. 4.0.16
Submitted: 26 Mar 2004 6:39 Modified: 22 Jul 2004 16:31
Reporter: marcello soffritti Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / ODBC Severity:S1 (Critical)
Version:3.51.06 OS:HP/UX (HPUX 11.11)
Assigned to: Timothy Smith CPU Architecture:Any

[26 Mar 2004 6:39] marcello soffritti
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.
[11 Jul 2004 23:23] Peter Harvey
The correct number of fields is 10. The User should use a more recent version of MyODBC sources - ie. 3.51.8 at this time.
[22 Jul 2004 16:31] Timothy Smith
Hi, please use version 3.51.07.  Thank you for your bug report!