From: Mike Bayer Date: Sun, 24 Jul 2011 16:50:14 +0000 (-0400) Subject: - Fixed OurSQL dialect to use ansi-neutral X-Git-Tag: rel_0_7_2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1f9f9635ed60a738905364a585762efc1a01c56;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Fixed OurSQL dialect to use ansi-neutral quote symbol "'" for XA commands instead of '"'. [ticket:2186]. Also in 0.6.9. --- diff --git a/CHANGES b/CHANGES index 24ce33f287..15c530fe5d 100644 --- a/CHANGES +++ b/CHANGES @@ -168,6 +168,11 @@ CHANGES operator classes for indexed columns. [ticket:2198] Courtesy Filip Zyzniewski. +- mysql + - Fixed OurSQL dialect to use ansi-neutral + quote symbol "'" for XA commands instead + of '"'. [ticket:2186]. Also in 0.6.9. + - mssql - Adjusted the pyodbc dialect such that bound values are passed as bytes and not unicode diff --git a/lib/sqlalchemy/dialects/mysql/oursql.py b/lib/sqlalchemy/dialects/mysql/oursql.py index 4ea4f56bed..2678d9dc92 100644 --- a/lib/sqlalchemy/dialects/mysql/oursql.py +++ b/lib/sqlalchemy/dialects/mysql/oursql.py @@ -105,6 +105,7 @@ class MySQLDialect_oursql(MySQLDialect): # Py3K # charset = self._connection_charset # arg = connection.connection._escape_string(xid.encode(charset)).decode(charset) + arg = "'%s'" % arg connection.execution_options(_oursql_plain_query=True).execute(query % arg) # Because mysql is bad, these methods have to be @@ -113,23 +114,23 @@ class MySQLDialect_oursql(MySQLDialect): # the parameterized query API, or refuse to be parameterized # in the first place. def do_begin_twophase(self, connection, xid): - self._xa_query(connection, 'XA BEGIN "%s"', xid) + self._xa_query(connection, 'XA BEGIN %s', xid) def do_prepare_twophase(self, connection, xid): - self._xa_query(connection, 'XA END "%s"', xid) - self._xa_query(connection, 'XA PREPARE "%s"', xid) + self._xa_query(connection, 'XA END %s', xid) + self._xa_query(connection, 'XA PREPARE %s', xid) def do_rollback_twophase(self, connection, xid, is_prepared=True, recover=False): if not is_prepared: - self._xa_query(connection, 'XA END "%s"', xid) - self._xa_query(connection, 'XA ROLLBACK "%s"', xid) + self._xa_query(connection, 'XA END %s', xid) + self._xa_query(connection, 'XA ROLLBACK %s', xid) def do_commit_twophase(self, connection, xid, is_prepared=True, recover=False): if not is_prepared: self.do_prepare_twophase(connection, xid) - self._xa_query(connection, 'XA COMMIT "%s"', xid) + self._xa_query(connection, 'XA COMMIT %s', xid) # Q: why didn't we need all these "plain_query" overrides earlier ? # am i on a newer/older version of OurSQL ?