mysql-python v1.2.1._p2 Release Notes

  • 🏗 There are some minor build fixes which probably only affect MySQL older than 4.0.

    If you had MySQL older than 4.1, the new charset and sql_mode parameters didn't work right. In fact, it was impossible to create a connection due to the charset problem.

    If you are using MySQL-4.1 or newer, there is no practical difference ⬆️ between 1.2.1 and 1.2.1_p2, and you don't need to upgrade.

    =====================

    What's new in 1.2.1

    Switched to Subversion. Was going to do this for 1.3, but a SourceForge CVS outage has forced the issue.

    Mapped a lot of new 4.1 and 5.0 error codes to Python exceptions

    Added an API call for mysql_set_character_set(charset) (MySQL > 5.0.7)

    Added an API call for mysql_get_character_set_info() (MySQL > 5.0.10)

    👷 Revamped the build system. Edit site.cfg if necessary (probably not in most cases)

    Python-2.3 is now the minimum version.

    ⬇️ Dropped support for mx.Datetime and stringtimes; always uses Python datetime module now.

    👌 Improved unit tests

    🆕 New connect() options:

    • charset: sets character set, implies use_unicode
    • 👀 sql_mode: sets SQL mode (i.e. ANSI, etc.; see MySQL docs)

    When using MySQL-4.1 or newer, enables MULTI_STATEMENTS

    When using MySQL-5.0 or newer, enables MULTI_RESULTS

    ⚠ When using MySQL-4.1 or newer, more detailed warning messages are produced

    SET columns returned as Python Set types; you can pass a Set as a parameter to cursor.execute().

    👌 Support for the new MySQL-5.0 DECIMAL implementation

    👌 Support for Python Decimal type

    Some use of weak references internally. Cursors no longer leak if you don't close them. Connections still do, unfortunately.

    🗄 ursor.fetchXXXDict() methods raise DeprecationWarning

    cursor.begin() is making a brief reappearence.

    cursor.callproc() now works, with some limitations.