Cat slave - 2009-06-02

Some of my code brake when changing from 1.2.1 to 1.2.2, and I was wondering why this is happening.

Running the following code:


import MySQLdb
con = MySQLdb.connect(host=u'XXX', user=u'XXX', passwd=u'XXX', db=u'test', charset=u'utf8')
cur = con.cursor()
cur.execute(u'''DROP TABLE IF EXISTS blobbug''')
cur.execute(u'''CREATE TABLE blobbug (text_blob BLOB)''')
cur.execute(u'''INSERT INTO blobbug VALUES (%s)''', (u'école',))
cur.execute(u'''SELECT * FROM blobbug''')
print u'MySQLdb.version_info: %r; Results: %r' % (MySQLdb.version_info, cur.fetchall())


Would produce different results between MySQLdb-1.2.1 and MySQLdb-1.2.2:

mysql-5.0.26-12
Python 2.5 (r25:51908, Nov 27 2006, 19:14:46)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2
MySQLdb.version_info: (1, 2, 1, 'final', 2); Results: ((array('c', '\xc3\xa9cole'),),)

compared to:

mysql-5.0.67-12.11
Python 2.6 (r26:66714, Feb 3 2009, 20:52:03)
[GCC 4.3.2 [gcc-4_3-branch revision 141291]] on linux2
MySQLdb.version_info: (1, 2, 2, 'final', 0); Results: (('\xc3\xa9cole',),)

and

mysql-5.0.51a-27.2
Python 2.5.2 (r252:60911, Dec 1 2008, 17:47:46)
[GCC 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]] on linux2
MySQLdb.version_info: (1, 2, 2, 'final', 0); Results: (('\xc3\xa9cole',),)

Thanks for any pointers to where this was changed and why.

Regards,

H.