On Sep 17, 2012, at 7:21 AM, Ids wrote:

> We were using SQLAlchemy 0.5.1 and wanted to upgrade to 0.7.8 but ran into 
> the following problem.
> When trying to create an engine, the mysql dialect tries to determine the 
> current isolation level by issuing the SELECT @@tx_isolation; SQL statement 
> (from dialects/mysql/base.py get_isolation_level()). However, this statement 
> is not supported on MySQL 3.23 and therefore SQLAlchemy 0.7.8 doesn't seem to 
> work anymore.
> 
> We worked around this by not using SQLAlchemy anymore for our antique MySQL 
> 3.23 db, but this means you could also delete 3.23 from the supported 
> database list. As a solution you could maybe add a try/except clause around 
> it with a version check just like you do in do_commit() in 
> dialects/mysql/base.py

can you let me know the specific point version of MySQL, I notice we have 
several transaction-related directives that are disabled for versions < 
3.23.15.    ".15" seems to be the first version that supports "COMMIT" and 
"ROLLBACK".

Here's a simple patch you can try:

diff -r c72dc70dba37 lib/sqlalchemy/dialects/mysql/base.py
--- a/lib/sqlalchemy/dialects/mysql/base.py     Sun Sep 16 21:15:55 2012 -0400
+++ b/lib/sqlalchemy/dialects/mysql/base.py     Mon Sep 17 08:57:51 2012 -0400
@@ -1872,6 +1872,8 @@
         cursor.close()
 
     def get_isolation_level(self, connection):
+        if self.server_version_info < (3, 23, 15):
+            raise NotImplementedError()
         cursor = connection.cursor()
         cursor.execute('SELECT @@tx_isolation')
         val = cursor.fetchone()[0]



> 
> Best regards,
> Ids
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/sqlalchemy/-/uJQPXujgUCEJ.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to