Bug #4742 getTableTypes computes wrong result
Submitted: 25 Jul 2004 0:45 Modified: 30 Jul 2004 4:00
Reporter: Eike Stepper Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / J Severity:S2 (Serious)
Version:3.0.10-stable OS:Windows (xp)
Assigned to: Mark Matthews CPU Architecture:Any

[25 Jul 2004 0:45] Eike Stepper
Description:
calling databaseMetaData.getTableTypes() returns a ResultSet, the first two columns representing a mapping from mysql column type names to java.sql.Types constants.

the first column has a unique constraint (virtually), as it represents the mapping key. but the type name "DOUBLE" gets mapped twice:

- DOUBLE --> 6
- DOUBLE --> 8

How to repeat:
    Connection connection = dataSource.getConnection();
    DatabaseMetaData metaData = connection.getMetaData();
    System.out.println("Driver Version: " + metaData.getDriverVersion());

    System.out.println("Type Mappings:");
    ResultSet rs = metaData.getTypeInfo();
    while (rs.next())
    {
      String name = rs.getString(1);
      int jdbcCode = rs.getInt(2);

      System.out.println("- " + name + " --> " + jdbcCode);
    }
[30 Jul 2004 2:09] Matthew Lord
I was able to verify this using 3.0.14 and 3.1.3-beta on linux connecting to 4.0.20 and 4.1.3-beta.

- DOUBLE --> 6
- FLOAT --> 7
- DOUBLE --> 8
- DOUBLE PRECISION --> 8
[30 Jul 2004 4:00] Mark Matthews
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html