diff options
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/base.py | 5 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/pymysql.py | 12 | ||||
| -rw-r--r-- | test/sql/test_types.py | 12 |
3 files changed, 28 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 62598ad00..3720c4e62 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -1932,6 +1932,11 @@ class MySQLDialect(default.DefaultDialect): cursor.execute('SELECT @@tx_isolation') val = cursor.fetchone()[0] cursor.close() + # Py3K + #if isinstance(val, bytes): + # val = val.decode() + # Py2K + # end Py2K return val.upper().replace("-", " ") def do_commit(self, dbapi_connection): diff --git a/lib/sqlalchemy/dialects/mysql/pymysql.py b/lib/sqlalchemy/dialects/mysql/pymysql.py index d70e997f7..25e2dadd3 100644 --- a/lib/sqlalchemy/dialects/mysql/pymysql.py +++ b/lib/sqlalchemy/dialects/mysql/pymysql.py @@ -28,9 +28,21 @@ class MySQLDialect_pymysql(MySQLDialect_mysqldb): driver = 'pymysql' description_encoding = None + # Py3K + #supports_unicode_statements = True + # Py2K + # end Py2K @classmethod def dbapi(cls): return __import__('pymysql') + # Py3K + #def _extract_error_code(self, exception): + # if isinstance(exception.args[0], Exception): + # exception = exception.args[0] + # return exception.args[0] + # Py2K + # end Py2K + dialect = MySQLDialect_pymysql diff --git a/test/sql/test_types.py b/test/sql/test_types.py index fac22a205..4bbfd96e8 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -699,6 +699,16 @@ class UnicodeTest(fixtures.TestBase): # end Py2K ) + elif testing.against('mysql+pymysql'): + eq_( + testing.db.dialect.returns_unicode_strings, + # Py3K + #True + # Py2K + False + # end Py2K + ) + else: expected = (testing.db.name, testing.db.driver) in \ ( @@ -709,7 +719,7 @@ class UnicodeTest(fixtures.TestBase): ('mysql', 'oursql'), ('mysql', 'zxjdbc'), ('mysql', 'mysqlconnector'), - ('mysql', 'pymysql'), + #('mysql', 'pymysql'), ('sqlite', 'pysqlite'), ('oracle', 'zxjdbc'), ('oracle', 'cx_oracle'), |
