Since setup.py requires that python 2.3 or better be used (mostly due to the use of "object"), there is a bunch of dead code in _mysql.c and pymemcompat.h is un-needed.
This patch removes all that to make the code a little cleaner.
[kylev@kylev-lt MySQLdb-1.2br]$ python test_MySQLdb_dbapi20.py -v
test_BINARY (main.test_MySQLdb) ... ok
test_Binary (main.test_MySQLdb) ... ok
test_DATETIME (main.test_MySQLdb) ... ok
test_Date (main.test_MySQLdb) ... ok
test_Exceptions (main.test_MySQLdb) ... ok
test_ExceptionsAsConnectionAttributes (main.test_MySQLdb) ... ok
test_NUMBER (main.test_MySQLdb) ... ok
test_None (main.test_MySQLdb) ... ok
test_ROWID (main.test_MySQLdb) ... ok
test_STRING (main.test_MySQLdb) ... ok
test_Time (main.test_MySQLdb) ... ok
test_Timestamp (main.test_MySQLdb) ... ok
test_apilevel (main.test_MySQLdb) ... ok
test_arraysize (main.test_MySQLdb) ... ok
test_callproc (main.test_MySQLdb) ... ok
test_close (main.test_MySQLdb) ... ok
test_commit (main.test_MySQLdb) ... ok
test_connect (main.test_MySQLdb) ... ok
test_cursor (main.test_MySQLdb) ... ok
test_cursor_isolation (main.test_MySQLdb) ... ok
test_description (main.test_MySQLdb) ... ok
test_execute (main.test_MySQLdb) ... ok
test_executemany (main.test_MySQLdb) ... ok
test_fetchall (main.test_MySQLdb) ... ok
test_fetchmany (main.test_MySQLdb) ... ok
test_fetchone (main.test_MySQLdb) ... ok
test_mixedfetch (main.test_MySQLdb) ... ok
test_nextset (main.test_MySQLdb) ... ok
test_paramstyle (main.test_MySQLdb) ... ok
test_rollback (main.test_MySQLdb) ... ok
test_rowcount (main.test_MySQLdb) ... ok
test_setinputsizes (main.test_MySQLdb) ... ok
test_setoutputsize (main.test_MySQLdb) ... ok
test_setoutputsize_basic (main.test_MySQLdb) ... ok
test_threadsafety (main.test_MySQLdb) ... ok
Ran 35 tests in 0.262s
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Remove pre-2.3 compatability junk
Sorry, meant to add this:
[kylev@kylev-lt MySQLdb-1.2br]$ python test_MySQLdb_dbapi20.py -v
test_BINARY (main.test_MySQLdb) ... ok
test_Binary (main.test_MySQLdb) ... ok
test_DATETIME (main.test_MySQLdb) ... ok
test_Date (main.test_MySQLdb) ... ok
test_Exceptions (main.test_MySQLdb) ... ok
test_ExceptionsAsConnectionAttributes (main.test_MySQLdb) ... ok
test_NUMBER (main.test_MySQLdb) ... ok
test_None (main.test_MySQLdb) ... ok
test_ROWID (main.test_MySQLdb) ... ok
test_STRING (main.test_MySQLdb) ... ok
test_Time (main.test_MySQLdb) ... ok
test_Timestamp (main.test_MySQLdb) ... ok
test_apilevel (main.test_MySQLdb) ... ok
test_arraysize (main.test_MySQLdb) ... ok
test_callproc (main.test_MySQLdb) ... ok
test_close (main.test_MySQLdb) ... ok
test_commit (main.test_MySQLdb) ... ok
test_connect (main.test_MySQLdb) ... ok
test_cursor (main.test_MySQLdb) ... ok
test_cursor_isolation (main.test_MySQLdb) ... ok
test_description (main.test_MySQLdb) ... ok
test_execute (main.test_MySQLdb) ... ok
test_executemany (main.test_MySQLdb) ... ok
test_fetchall (main.test_MySQLdb) ... ok
test_fetchmany (main.test_MySQLdb) ... ok
test_fetchone (main.test_MySQLdb) ... ok
test_mixedfetch (main.test_MySQLdb) ... ok
test_nextset (main.test_MySQLdb) ... ok
test_paramstyle (main.test_MySQLdb) ... ok
test_rollback (main.test_MySQLdb) ... ok
test_rowcount (main.test_MySQLdb) ... ok
test_setinputsizes (main.test_MySQLdb) ... ok
test_setoutputsize (main.test_MySQLdb) ... ok
test_setoutputsize_basic (main.test_MySQLdb) ... ok
test_threadsafety (main.test_MySQLdb) ... ok
Ran 35 tests in 0.262s
I actually did all this work a while ago after being granted commit access.