Functionality added or changed:
MySQL Connector/ODBC has been changed to support the
CLIENT_INTERACTIVE
flag. (Bug#48603)
Bugs fixed:
SQLColAttribute(SQL_DESC_PRECISION...)
function returned incorrect results for type identifiers that have a negative value:#define SQL_LONGVARCHAR (-1) returned 4294967295 #define SQL_BINARY (-2) returned 4294967294 #define SQL_VARBINARY (-3) returned 4294967293 #define SQL_LONGVARBINARY (-4) returned 4294967292 #define SQL_BIGINT (-5) returned 4294967291 #define SQL_TINYINT (-6) returned 4294967290 #define SQL_BIT (-7) returned 4294967289
They were returned as 32-bit unsigned integer values. This only happened on 64-bit Linux. (Bug#55024)
SQLColAttribute
forSQL_DESC_OCTET_LENGTH
returned length including terminating null byte. It should not have included the null byte. (Bug#54206)The
SQLColumns
function returned the incorrect transfer octet length into the columnBUFFER_LENGTH
forDECIMAL
type. (Bug#53235)SQLForeignKeys()
did not return the correct information. The list of foreign keys in other tables should not have included foreign keys that point to unique constraints in the specified table. (Bug#51422)In contrast to all other ODBC catalog functions
SQLTablePrivileges
required the user to haveSELECT
privilege on MySQL schemata, otherwise the function returned with an error:SQL Error. Native Code: 1142, SQLState: HY000, Return Code: -1 [MySQL][ODBC 5.1 Driver][mysqld-5.0.67-community-nt]SELECT command denied to user 'repadmin'@'localhost' for table 'tables_priv' [Error][SQL Error]Error executing SQLTablePrivileges for object cat: myrep, object Name: xxxxxxxxxx
MySQL Connector/ODBC manually added a
LIMIT
clause to the end of certain SQL statements, causing errors for statements that contained code that should be positioned after theLIMIT
clause. (Bug#49726)If
NO_BACKSLASH_ESCAPES
mode was used on a server, escaping binary data led to server query parsing errors. (Bug#49029)Bulk upload operations did not work for queries that used parameters. (Bug#48310)
Retrieval of the current catalog at the moment when a connection was not ready, such as when the connection had been broken or when not all pending results had been processed, resulted in the application crashing. (Bug#46910)
Describing a view or table caused SQLPrepare to prefetch table data. For large tables this created an intolerable performance hit. (Bug#46411)
If an application was invoked by the root user,
SQLDriverConnect()
was not able to use the username and password in the connection string to connect to the database. (Bug#45378)Calling
SQLColAttribute
on a date column did not setSQL_DESC_DATETIME_INTERVAL_CODE
.SQLColAttribute
returnedSQL_SUCCESS
but the integer passed in was not set toSQL_CODE_DATE
. (Bug#44576)Conversions for many types were missing from the file
driver/info.c
. (Bug#43855)The
SQLTables()
function required approximately two to four minutes to return the list of 400 tables in a database. TheSHOW TABLE STATUS
query used bySQLTables()
was extremely slow for InnoDB tables with a large number of rows because the query was calculating the approximate number of rows in each table. Further, the results could not be cached due to non-deterministic nature of the result set (the row count was re-calculated every time), impacting performance further. (Bug#43664)Executing
SQLForeignKeys
to get imported foreign keys for tables took an excessively long time. For example, getting imported foreign keys for 252 tables to determine parent/child dependencies took about 3 minutes and 14 seconds for the 5.1.5 driver, whereas it took 3 seconds for the 3.5x.x driver. (Bug#39562)SQLDescribeCol
returned incorrect column definitions forSQLTables
result. (Bug#37621)When opening
ADO.Recordset
from Microsoft Access 2003, a run-time error occurred:ErrNo: -2147467259 ErrMessage: Data provider or other service returned an E_FAIL status.
SQLPrimaryKeysW
returned mangled strings for table name, column name and primary key name. (Bug#36441)On Windows, the SOCKET parameter to the DSN was used as the named pipe name to connect to. This was not exposed in the Windows setup GUI. (Bug#34477)
MySQL Connector/ODBC returned a value of zero for a column with a non-zero value. This happened when the column had a data type of
BIT
, and any numeric type was used inSQLBindCol
. (Bug#32821)Option for handling bad dates was not available in the GUI. (Bug#30539)