Documentation Home
MySQL Connector/Python Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 327.1Kb
PDF (A4) - 328.2Kb


MySQL Connector/Python Release Notes  /  Changes in MySQL Connector/Python 1.0  /  Changes in MySQL Connector/Python 1.0.8 (2012-12-21, General Availability)

Changes in MySQL Connector/Python 1.0.8 (2012-12-21, General Availability)

Fixes bugs since the initial 1.0.7 GA release.

Bugs Fixed

  • When a stored procedure was called with arguments, and produced multiple result sets, the result sets were not returned properly. (Bug #15916486, Bug #67710)

  • The ping() method was always reconnecting to the database, ignoring the reconnect argument. This means that there would be a rollback when pinging the MySQL server during a transaction.

    Now ping() will honor the reconnect option and only reestablish the connection when needed. (Bug #15915243, Bug #67650)

  • Connector/Python could not connect to MySQL servers using IPv6 addresses. An InterfaceError or ConnectionRefusedErrorwas raised:

    mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on
    'IPv6-style address' (Address family for hostname not supported)
    
    ConnectionRefusedError: [Errno 111] Connection refused

    (Bug #15876886, Bug #15927825)

  • When connecting to a MySQL server from a host whose IP address was not allowed, Connector/Python reported a handshake problem and raised an InterfaceError exception. (Bug #15836979)

  • When a username or password was passed in as Unicode to Connector/Python, connection attempts failed with UnicodeDecodeError exceptions due to string concatenation of mixed-charset types. This issue affected programs running under Python 2, and did not affect Python 3. (Bug #14843456, Bug #67306)

  • Intermittent errors could occur on Windows systems: InterfaceError(errno=2013). The cause was incorrect handling of sock.recv() library calls that returned less data than was requested. (Bug #14829471, Bug #67303)

  • A socket error would produce a NameError exception instead of the expected InterfaceError, due to a misnamed variable:

    NameError: global name 'e' is not defined

    (Bug #14802017)

  • The executemany() function now supports the pyformat parameter style. In the pyformat style, all the substitution variables are passed in using a single dictionary parameter, and the % format specifier is encoded like %(dict_key)s for a string. MySQLCursor.executemany() can now use both ANSI C printf and Python extended format codes. (Bug #14754894, Bug #67146)

  • The error message was clarified when a non-integer value was used for the TCP/IP port connection argument. (Bug #13808727, Bug #64543)