MySQL Forums
Forum List  »  Announcements

MySQL Connector/Python 1.1.1-alpha has been released
Posted by: Sunanda Menon
Date: September 10, 2013 07:10AM


Dear MySQL users,

MySQL Connector/Python 1.1.1 is the next alpha version of
the 1.1 release series of the pure Python database driver
for MySQL. It is intended to introduce users to the new features.

This release is not feature complete but it should be stable
enough for users to understand the new features and how we
expect them to work.

As is the case with all non-GA releases, it should not be used
in any production environment.

MySQL Connector/Python version 1.1.1-alpha is compatible with MySQL Server
versions 5.5 and greater, but should work with earlier versions
(greater than 4.1). Python 2.6 and 2.7, as well as Python 3.1
and greater are supported.

MySQL Connector/Python 1.1.1-alpha is available for download from

http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 1.1.1. For a more complete list of
changes, see below or online at:

http://dev.mysql.com/doc/relnotes/connector-python/en/

Changes in MySQL Connector/Python 1.1.1 (2013-09-10, Alpha)
--------------------------------------------------------------------------------------


Functionality Added or Changed

    * Output for individual unit tests did not show timings, making
      it more difficult to debug problems that involve a change in
      test execution time. unittest.py now has a new --stats option
      that runs tests and shows elapsed time for each.
      It is also possible to save the data to a MySQL server. When
      the --stats-host option is given with other options such as
      --stats-user, results are saved to a table called
      myconnpy_X_Y_Z. The table contains the name of the test case
      and columns that combine Python and MySQL versions; for
      example, py27my55 or py33my56.
      For example, to see the difference between MySQL 5.1 and 5.6,
      using Python 2.7, after running the test cases for both using
      Connector/Python 1.1.0, use this statement:
      SELECT test_case, py27my51, py27my56, (py27my56-py27my51) AS diff51
      FROM myconnpy_1_1_0 WHERE (py27my56-py27my51) > 0.5;
      (Bug #17028999)

    * MySQL Connector/Python now supports simple connection pooling
      that has these characteristics:

         + A pool opens a number of connections and handles thread
           safety when providing connections to requesters.

         + The size of a connection pool is configurable at pool
           creation time. It cannot be resized thereafter.

         + A connection pool can be named at pool creation time. If
           no name is given, one is generated using the connection
           parameters.

         + The connection pool name can be retrieved from the
           connection pool or connections obtained from it.

         + It is possible to have multiple connection pools. This
           enables applications to support pools of connections to
           different MySQL servers, for example.

         + For each connection request, the pool provides the next
           available connection. No round-robin or other scheduling
           algorithm is used.

         + It is possible to reconfigure the connection parameters
           used by a pool. These apply to connections obtained from
           the pool thereafter. Reconfiguring individual connections
           obtained from the pool by calling the connection config()
           method is not supported.
           Applications that can benefit from connection-pooling
           capability include:

         + Middleware that maintains multiple connections to
           multiple MySQL servers and requires connections to be
           readily available.

         + Web sites that can have more "permanent" connections open
           to the MySQL server.

      The connection pooling implementation involves these interface
      elements:

         + A new module, mysql.connector.pooling, provides two
           classes: MySQLConnectionPool instantiates and manages
           connection pools, and PooledMySQLConnection is similar to
           MySQLConnection but is used for connections that are part
           of a connection pool.

         + A new exception, PoolError, occurs for pool-related
           exceptions. PoolError is a subclass of Error.
      For more information, see Connector/Python Connection Pooling
      (http://dev.mysql.com/doc/refman/5.6/en/connector-python-connection-pooling.html)

    * Connector/Python now includes a mysql.connector.django module
      that provides a Django backend for MySQL. This backend
      supports new features found in MySQL 5.6 such as fractional
      seconds support for temporal data types. For more information,
      see Connector/Python Django Backend
      (http://dev.mysql.com/doc/refman/5.6/en/connector-python-django-backend.html)


  Bugs Fixed

    * Following fetchone() or fetchmany(), the result returned by
      fetchall() was missing one row. (Bug #17041412)

    * Previously, executing a statement after the connection was
      closed raised an OperationalError with an unclear error.
      Connector/Python now returns the client error 2006, MySQL
      Server has gone away, with an extra message.
      The Error() class has been extended to accept a new argument,
      extra_msg. When given, it is appended between brackets. For
      example: [2000] Unknown MySQL Error (Some extra message) (Bug
      #17022399)

    * LOAD DATA LOCAL INFILE failed for files approximately 14MB or
      larger. (Bug #17002411)

    * An InternalError was raised during transaction rollback if
      there were unread results. The MySQLConnection.rollback()
      method now consumes unread results instead of raising an
      error. (Bug #16656621)

    * Python 2.6 and 2.7 raised a UnicodeDecodeError when
      unicode_literals was used and a database name contained
      nonlatin Unicode characters. (Bug #16655208)

    * An unclear OperationalError was raised if a cursor object was
      closed while there were unread results. Connector/Python now
      raises an InternalError indicating that there are still unread
      results. This provides information that to avoid the error it
      is necessary to consume the result by reading all rows. (Bug
      #67649, Bug #17041240)

    * The MySQLCursor.executemany() method raised an exception when
      a SQL function was used as a column value when executing an
      INSERT statement. (Bug #69675, Bug #17065366)

Documentation
--------------------

Online:http://dev.mysql.com/doc/connector-python/en/index.html

The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
--------------------

We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy!

On Behalf of the MySQL RE team at Oracle,

Sunanda Menon


Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Connector/Python 1.1.1-alpha has been released
3761
September 10, 2013 07:10AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.